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 })