diff options
Diffstat (limited to 'mesecons_movestones')
| -rw-r--r-- | mesecons_movestones/init.lua | 25 | 
1 files changed, 17 insertions, 8 deletions
| diff --git a/mesecons_movestones/init.lua b/mesecons_movestones/init.lua index dcbb00b..7790658 100644 --- a/mesecons_movestones/init.lua +++ b/mesecons_movestones/init.lua @@ -67,7 +67,7 @@ minetest.register_node("mesecons_movestones:movestone", {  			local direction=mesecon.get_movestone_direction(pos)  			if not direction then return end  			minetest.remove_node(pos) -			mesecon.update_autoconnect(pos) +			mesecon.on_dignode(pos, node)  			minetest.add_entity(pos, "mesecons_movestones:movestone_entity")  		end  	}} @@ -100,16 +100,20 @@ minetest.register_entity("mesecons_movestones:movestone_entity", {  			or minetest.registered_nodes[name].liquidtype == "none") then  				mesecon.mvps_push(pos, self.lastdir, maxpush)  			end -			minetest.add_node(pos, {name="mesecons_movestones:movestone"}) +			local nn = {name="mesecons_movestones:movestone"} +			minetest.add_node(pos, nn)  			self.object:remove() +			mesecon.on_placenode(pos, nn)  			return  		end  		local success, stack, oldstack =  			mesecon.mvps_push(pos, direction, maxpush)  		if not success then -- Too large stack/stopper in the way -			minetest.add_node(pos, {name="mesecons_movestones:movestone"}) +			local nn = {name="mesecons_movestones:movestone"} +			minetest.add_node(pos, nn)  			self.object:remove() +			mesecon.on_placenode(pos, nn)  			return  		else  			mesecon.mvps_process_stack (stack) @@ -147,7 +151,7 @@ minetest.register_node("mesecons_movestones:sticky_movestone", {  			local direction=mesecon.get_movestone_direction(pos)  			if not direction then return end  			minetest.remove_node(pos) -			mesecon.update_autoconnect(pos) +			mesecon.on_dignode(pos, node)  			minetest.add_entity(pos, "mesecons_movestones:sticky_movestone_entity")  		end  	}} @@ -184,20 +188,25 @@ minetest.register_entity("mesecons_movestones:sticky_movestone_entity", {  			if  name ~= "air" and name ~= "ignore"  			and ((not minetest.registered_nodes[name])  			or minetest.registered_nodes[name].liquidtype == "none") then -				mesecon.mvps_push(pos, self.lastdir, MOVESTONE_MAXIMUM_PUSH) +				mesecon.mvps_push(pos, self.lastdir, +					mesecon.setting("movestone_max_push", 50))  				--STICKY  				mesecon.mvps_pull_all(pos, self.lastdir)  			end -			minetest.add_node(pos, {name="mesecons_movestones:sticky_movestone"}) +			local nn = {name="mesecons_movestones:sticky_movestone"} +			minetest.add_node(pos, nn)  			self.object:remove() +			mesecon.on_placenode(pos, nn)  			return  		end  		local success, stack, oldstack = -			mesecon.mvps_push(pos, direction, MOVESTONE_MAXIMUM_PUSH) +			mesecon.mvps_push(pos, direction, mesecon.setting("movestone_max_push", 50))  		if not success then -- Too large stack/stopper in the way -			minetest.add_node(pos, {name="mesecons_movestones:sticky_movestone"}) +			local nn = {name="mesecons_movestones:sticky_movestone"} +			minetest.add_node(pos, nn)  			self.object:remove() +			mesecon.on_placenode(pos, nn)  			return  		else  			mesecon.mvps_process_stack (stack) | 
