diff options
| author | Jeija <jeija@mesecons.net> | 2014-11-22 20:05:36 +0100 | 
|---|---|---|
| committer | Jeija <jeija@mesecons.net> | 2014-11-22 20:05:36 +0100 | 
| commit | a550323fea995437896d809df5e5c3795271219c (patch) | |
| tree | d3ec9a352d9c4280f4d57c45cce976f5787d1dee | |
| parent | d19e975955465dcf483789fa537a1d9de28c52f9 (diff) | |
Fix compatibility with not yet updated mods that use mesecon:receptor_*
| -rw-r--r-- | mesecons/init.lua | 9 | ||||
| -rw-r--r-- | mesecons/legacy.lua | 30 | ||||
| -rw-r--r-- | mesecons_switch/init.lua | 4 | 
3 files changed, 32 insertions, 11 deletions
| diff --git a/mesecons/init.lua b/mesecons/init.lua index a1a3149..096e509 100644 --- a/mesecons/init.lua +++ b/mesecons/init.lua @@ -66,11 +66,6 @@ dofile(minetest.get_modpath("mesecons").."/actionqueue.lua");  -- like calling action_on/off/change  dofile(minetest.get_modpath("mesecons").."/internal.lua"); --- Deprecated stuff --- To be removed in future releases --- Currently there is nothing here -dofile(minetest.get_modpath("mesecons").."/legacy.lua"); -  -- API  -- these are the only functions you need to remember @@ -133,6 +128,10 @@ end  print("[OK] Mesecons") +-- Deprecated stuff +-- To be removed in future releases +dofile(minetest.get_modpath("mesecons").."/legacy.lua"); +  --The actual wires  dofile(minetest.get_modpath("mesecons").."/wires.lua"); diff --git a/mesecons/legacy.lua b/mesecons/legacy.lua index 60e860f..c09b5a4 100644 --- a/mesecons/legacy.lua +++ b/mesecons/legacy.lua @@ -1,7 +1,29 @@ -function mesecon:receptor_on(pos, rules)
 -	mesecon.receptor_on(pos, rules)
 +-- Ugly hack to prevent breaking compatibility with other mods
 +-- Just remove the following two functions to delete the hack, to be done when other mods have updated
 +function mesecon.receptor_on(self, pos, rules)
 +	if (self.receptor_on) then
 +		print("[Mesecons] Warning: A mod with mesecon support called mesecon:receptor_on.")
 +		print("[Mesecons]          If you are the programmer of this mod, please update it ")
 +		print("[Mesecons]          to use mesecon.receptor_on instead. mesecon:* is deprecated")
 +		print("[Mesecons]          Otherwise, please make sure you're running the latest version")
 +		print("[Mesecons]          of that mod and inform the mod creator.")
 +	else
 +		rules = pos
 +		pos = self
 +	end
 +	mesecon.queue:add_action(pos, "receptor_on", {rules}, nil, rules)
  end
 -function mesecon:receptor_off(pos, rules)
 -	mesecon.receptor_off(pos, rules)
 +function mesecon.receptor_off(self, pos, rules)
 +	if (self.receptor_off) then
 +		print("[Mesecons] Warning: A mod with mesecon support called mesecon:receptor_off.")
 +		print("[Mesecons]          If you are the programmer of this mod, please update it ")
 +		print("[Mesecons]          to use mesecon.receptor_off instead. mesecon:* is deprecated")
 +		print("[Mesecons]          Otherwise, please make sure you're running the latest version")
 +		print("[Mesecons]          of that mod and inform the mod creator.")
 +	else
 +		rules = pos
 +		pos = self
 +	end
 +	mesecon.queue:add_action(pos, "receptor_off", {rules}, nil, rules)
  end
 diff --git a/mesecons_switch/init.lua b/mesecons_switch/init.lua index f40ef80..1b7f478 100644 --- a/mesecons_switch/init.lua +++ b/mesecons_switch/init.lua @@ -11,7 +11,7 @@ minetest.register_node("mesecons_switch:mesecon_switch_off", {  	}},  	on_punch = function(pos, node)  		minetest.swap_node(pos, {name = "mesecons_switch:mesecon_switch_on", param2 = node.param2}) -		mesecon.receptor_on(pos) +		mesecon:receptor_on(pos)  		minetest.sound_play("mesecons_switch", {pos=pos})  	end  }) @@ -27,7 +27,7 @@ minetest.register_node("mesecons_switch:mesecon_switch_on", {  	}},  	on_punch = function(pos, node)  		minetest.swap_node(pos, {name = "mesecons_switch:mesecon_switch_off", param2 = node.param2}) -		mesecon.receptor_off(pos) +		mesecon:receptor_off(pos)  		minetest.sound_play("mesecons_switch", {pos=pos})  	end  }) | 
