summaryrefslogtreecommitdiff
path: root/mesecons_solarpanel/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mesecons_solarpanel/init.lua')
-rw-r--r--mesecons_solarpanel/init.lua39
1 files changed, 39 insertions, 0 deletions
diff --git a/mesecons_solarpanel/init.lua b/mesecons_solarpanel/init.lua
new file mode 100644
index 0000000..f64b4b2
--- /dev/null
+++ b/mesecons_solarpanel/init.lua
@@ -0,0 +1,39 @@
+-- Solar Panel
+minetest.register_node("mesecons_solarpanel:solar_panel", {
+ drawtype = "raillike",
+ tile_images = {"jeija_solar_panel.png"},
+ inventory_image = "jeija_solar_panel.png",
+ wield_image = "jeija_solar_panel.png",
+ paramtype = "light",
+ walkable = false,
+ is_ground_content = true,
+ selection_box = {
+ type = "fixed",
+ },
+ furnace_burntime = 5,
+ material = minetest.digprop_dirtlike(0.1),
+ description="Solar Panel",
+})
+
+minetest.register_craft({
+ output = '"mesecons_solarpanel:solar_panel" 1',
+ recipe = {
+ {'"mesecons_materials:silicon"', '"mesecons_materials:silicon"'},
+ {'"mesecons_materials:silicon"', '"mesecons_materials:silicon"'},
+ }
+})
+
+minetest.register_abm(
+ {nodenames = {"mesecons_solarpanel:solar_panel"},
+ interval = 0.1,
+ chance = 1,
+ action = function(pos, node, active_object_count, active_object_count_wider)
+ local light = minetest.env:get_node_light(pos, nil)
+ if light == nil then light = 0 end
+ if light >= 12 then
+ mesecon:receptor_on(pos)
+ else
+ mesecon:receptor_off(pos)
+ end
+ end,
+})