clean version of the updated daylightsensorfix

This commit is contained in:
chmodsayshello 2022-01-19 17:42:05 +00:00
parent 23f1c51912
commit 0b6210196d
1 changed files with 19 additions and 5 deletions

View File

@ -96,8 +96,9 @@ minetest.register_abm({
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local light = minetest.get_node_light(pos, nil)
local time = minetest.get_timeofday()*24000
if light >= 12 and minetest.get_timeofday() > 0.2 and minetest.get_timeofday() < 0.8 then
if light >= minetest.LIGHT_MAX and time > 6000 and time < 18000 then
minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_on", param2=node.param2})
mesecon.receptor_on(pos, mesecon.rules.pplate)
end
@ -111,10 +112,16 @@ minetest.register_abm({
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local light = minetest.get_node_light(pos, nil)
local time = minetest.get_timeofday()*24000
if light < 12 then
if light <= minetest.LIGHT_MAX and time > 18000 then
minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_off", param2=node.param2})
mesecon.receptor_off(pos, mesecon.rules.pplate)
else
if light <= minetest.LIGHT_MAX and time < 6000 then
minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_off", param2=node.param2})
mesecon.receptor_off(pos, mesecon.rules.pplate)
end
end
end,
})
@ -203,10 +210,16 @@ minetest.register_abm({
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local light = minetest.get_node_light(pos, nil)
if light < 12 then
local time = minetest.get_timeofday()*24000
if light < minetest.LIGHT_MAX and time > 18000 then
minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_inverted_on", param2=node.param2})
mesecon.receptor_on(pos, mesecon.rules.pplate)
else
if light <= minetest.LIGHT_MAX and time < 6000 then
minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_inverted_on", param2=node.param2})
mesecon.receptor_on(pos, mesecon.rules.pplate)
end
end
end,
})
@ -218,8 +231,9 @@ minetest.register_abm({
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local light = minetest.get_node_light(pos, nil)
local time = minetest.get_timeofday()*24000
if light >= 12 and minetest.get_timeofday() > 0.8 and minetest.get_timeofday() < 0.2 then
if light >= minetest.LIGHT_MAX and time > 6000 and time < 18000 then
minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_inverted_off", param2=node.param2})
mesecon.receptor_off(pos, mesecon.rules.pplate)
end