summaryrefslogtreecommitdiff
path: root/mesecons_solarpanel
diff options
context:
space:
mode:
authorDS <vorunbekannt75@web.de>2017-10-08 01:39:02 +0200
committerVitaliy <silverunicorn2011@yandex.ru>2017-10-08 02:39:02 +0300
commit37eb7f00e855ed56a2fe512abc5d4e62119d3dc6 (patch)
tree0611e285eebbfd96e71d54a6db1406b80b6db8fc /mesecons_solarpanel
parent905260c8db2d7d4844e3955fa38a79da233b3ab7 (diff)
downloadmesecons-37eb7f00e855ed56a2fe512abc5d4e62119d3dc6.tar
mesecons-37eb7f00e855ed56a2fe512abc5d4e62119d3dc6.tar.gz
mesecons-37eb7f00e855ed56a2fe512abc5d4e62119d3dc6.tar.bz2
mesecons-37eb7f00e855ed56a2fe512abc5d4e62119d3dc6.tar.xz
mesecons-37eb7f00e855ed56a2fe512abc5d4e62119d3dc6.zip
Improve rules and rule handling (#370)
Diffstat (limited to 'mesecons_solarpanel')
-rw-r--r--mesecons_solarpanel/init.lua18
1 files changed, 11 insertions, 7 deletions
diff --git a/mesecons_solarpanel/init.lua b/mesecons_solarpanel/init.lua
index cbf8878..9981d95 100644
--- a/mesecons_solarpanel/init.lua
+++ b/mesecons_solarpanel/init.lua
@@ -24,7 +24,8 @@ minetest.register_node("mesecons_solarpanel:solar_panel_on", {
groups = {dig_immediate=3, not_in_creative_inventory = 1},
sounds = default.node_sound_glass_defaults(),
mesecons = {receptor = {
- state = mesecon.state.on
+ state = mesecon.state.on,
+ rules = mesecon.rules.wallmounted_get,
}},
on_blast = mesecon.on_blastnode,
})
@@ -52,10 +53,11 @@ minetest.register_node("mesecons_solarpanel:solar_panel_off", {
wall_side = { -8/16, -7/16, -7/16, -7/16, 7/16, 7/16 },
},
groups = {dig_immediate=3},
- description="Solar Panel",
+ description = "Solar Panel",
sounds = default.node_sound_glass_defaults(),
mesecons = {receptor = {
- state = mesecon.state.off
+ state = mesecon.state.off,
+ rules = mesecon.rules.wallmounted_get,
}},
on_blast = mesecon.on_blastnode,
})
@@ -76,8 +78,9 @@ minetest.register_abm(
local light = minetest.get_node_light(pos, nil)
if light >= 12 then
- minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_on", param2=node.param2})
- mesecon.receptor_on(pos)
+ node.name = "mesecons_solarpanel:solar_panel_on"
+ minetest.swap_node(pos, node)
+ mesecon.receptor_on(pos, mesecon.rules.wallmounted_get(node))
end
end,
})
@@ -90,8 +93,9 @@ minetest.register_abm(
local light = minetest.get_node_light(pos, nil)
if light < 12 then
- minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_off", param2=node.param2})
- mesecon.receptor_off(pos)
+ node.name = "mesecons_solarpanel:solar_panel_off"
+ minetest.swap_node(pos, node)
+ mesecon.receptor_off(pos, mesecon.rules.wallmounted_get(node))
end
end,
})