summaryrefslogtreecommitdiff
path: root/controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'controller.lua')
-rw-r--r--controller.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/controller.lua b/controller.lua
index 8bfa1af..5322e22 100644
--- a/controller.lua
+++ b/controller.lua
@@ -460,6 +460,15 @@ function celevator.controller.finish(pos,mem)
celevator.pi.setarrow(pipos,"down",newpidownarrow)
end
end
+ local oldlanterns = oldmem.lanterns or {}
+ local newlanterns = mem.lanterns or {}
+ local lanterns = minetest.deserialize(meta:get_string("lanterns")) or {}
+ for hash,landing in pairs(lanterns) do
+ if oldlanterns[landing] ~= newlanterns[landing] then
+ celevator.lantern.setlight(minetest.get_position_from_hash(hash),"up",newlanterns[landing] == "up")
+ celevator.lantern.setlight(minetest.get_position_from_hash(hash),"down",newlanterns[landing] == "down")
+ end
+ end
meta:set_string("mem",minetest.serialize(mem))
if node.name == "celevator:controller_open" then meta:set_string("formspec",mem.formspec or "") end
meta:set_string("formspec_hidden",mem.formspec or "")