diff --git a/mesecons_mvps/init.lua b/mesecons_mvps/init.lua index 3792d26..5ca973a 100644 --- a/mesecons_mvps/init.lua +++ b/mesecons_mvps/init.lua @@ -29,6 +29,9 @@ function mesecon.is_mvps_stopper(node, pushdir, stack, stackid) end function mesecon.register_mvps_stopper(nodename, get_stopper) + if minetest.registered_nodes[nodename] and minetest.registered_nodes[nodename].buildable_to then + minetest.log("warning", ("Registering a buildable-to node \"%s\" as a mesecon stopper, this is not supported"):format(nodename)) + end if get_stopper == nil then get_stopper = true end @@ -71,6 +74,10 @@ function mesecon.mvps_get_stack(pos, dir, maximum, all_pull_sticky) local np = frontiers[1] local nn = minetest.get_node(np) + -- Never push into unloaded blocks. Don’t try to pull from them, either. + -- TODO: load blocks instead, as with wires. + if nn.name == "ignore" then return nil end + if not node_replaceable(nn.name) then table.insert(nodes, {node = nn, pos = np}) if #nodes > maximum then return nil end @@ -327,10 +334,6 @@ function mesecon.mvps_move_objects(pos, dir, nodestack, movefactor) end end --- Never push into unloaded blocks. Don’t try to pull from them, either. --- TODO: load blocks instead, as with wires. -mesecon.register_mvps_stopper("ignore") - mesecon.register_mvps_stopper("doors:door_steel_b_1") mesecon.register_mvps_stopper("doors:door_steel_t_1") mesecon.register_mvps_stopper("doors:door_steel_b_2")