summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeija <jeija@mesecons.net>2014-11-22 20:05:36 +0100
committerJeija <jeija@mesecons.net>2014-11-22 20:05:36 +0100
commita550323fea995437896d809df5e5c3795271219c (patch)
treed3ec9a352d9c4280f4d57c45cce976f5787d1dee
parentd19e975955465dcf483789fa537a1d9de28c52f9 (diff)
downloadmesecons-a550323fea995437896d809df5e5c3795271219c.tar
mesecons-a550323fea995437896d809df5e5c3795271219c.tar.gz
mesecons-a550323fea995437896d809df5e5c3795271219c.tar.bz2
mesecons-a550323fea995437896d809df5e5c3795271219c.tar.xz
mesecons-a550323fea995437896d809df5e5c3795271219c.zip
Fix compatibility with not yet updated mods that use mesecon:receptor_*
-rw-r--r--mesecons/init.lua9
-rw-r--r--mesecons/legacy.lua30
-rw-r--r--mesecons_switch/init.lua4
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
})