From f98ea14023fa2d6107e02d6721857d38163c3854 Mon Sep 17 00:00:00 2001 From: DS Date: Sun, 18 Jun 2023 20:21:32 +0200 Subject: [PATCH] MVPS: make stoppers non-replaceable even if they are buildable_to (#545) --- mesecons_mvps/init.lua | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mesecons_mvps/init.lua b/mesecons_mvps/init.lua index c047ed9..5cb9c8f 100644 --- a/mesecons_mvps/init.lua +++ b/mesecons_mvps/init.lua @@ -53,11 +53,16 @@ end -- tests if the node can be pushed into, e.g. air, water, grass local function node_replaceable(name) - if minetest.registered_nodes[name] then - return minetest.registered_nodes[name].buildable_to or false + local nodedef = minetest.registered_nodes[name] + + -- everything that can be an mvps stopper (unknown nodes and nodes in the + -- mvps_stoppers table) must not be replacable + -- Note: ignore (a stopper) is buildable_to, but we do not want to push into it + if not nodedef or mesecon.mvps_stoppers[name] then + return false end - return false + return nodedef.buildable_to or false end function mesecon.mvps_get_stack(pos, dir, maximum, all_pull_sticky)