diff options
Diffstat (limited to 'mesecons_mvps')
| -rw-r--r-- | mesecons_mvps/init.lua | 27 | 
1 files changed, 13 insertions, 14 deletions
| diff --git a/mesecons_mvps/init.lua b/mesecons_mvps/init.lua index bfbd774..2f4edfc 100644 --- a/mesecons_mvps/init.lua +++ b/mesecons_mvps/init.lua @@ -15,16 +15,16 @@ end  -- Nodes that cannot be pushed / pulled by movestones, pistons  function mesecon.is_mvps_stopper(node, pushdir, stack, stackid) +	-- unknown nodes are always stoppers +	if not minetest.registered_nodes[node.name] then +		return true +	end +  	local get_stopper = mesecon.mvps_stoppers[node.name]  	if type (get_stopper) == "function" then  		get_stopper = get_stopper(node, pushdir, stack, stackid)  	end -	if get_stopper == nil -	and not minetest.registered_nodes[node.name] then -		-- unknown nodes must be stoppers -		mesecon.mvps_stoppers[node.name] = true -		get_stopper = true -	end +  	return get_stopper  end @@ -53,16 +53,15 @@ function mesecon.mvps_process_stack(stack)  	end  end --- tests if the node can't be pushed -local replaceable_cache = {air = true, ignore = false} +-- tests if the node can be pushed into, e.g. air, water, grass  local function node_replaceable(name) -	if replaceable_cache[name] ~= nil then -		return replaceable_cache[name] +	if name == "ignore" then return true end + +	if minetest.registered_nodes[name] then +		return minetest.registered_nodes[name].buildable_to or false  	end -	--local replaceable = not minetest.registered_nodes[name] or minetest.registered_nodes[name].buildable_to or false -	local replaceable = (minetest.registered_nodes[name] and minetest.registered_nodes[name].buildable_to) or false -	replaceable_cache[name] = replaceable -	return replaceable + +	return false  end  function mesecon.mvps_get_stack(pos, dir, maximum, all_pull_sticky) | 
