123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- -- Solar Panel
- minetest.register_node("mesecons_solarpanel:solar_panel_on", {
- drawtype = "nodebox",
- tiles = { "jeija_solar_panel.png", },
- inventory_image = "jeija_solar_panel.png",
- wield_image = "jeija_solar_panel.png",
- paramtype = "light",
- paramtype2 = "wallmounted",
- walkable = false,
- is_ground_content = false,
- node_box = {
- type = "wallmounted",
- wall_bottom = { -7/16, -8/16, -7/16, 7/16, -7/16, 7/16 },
- wall_top = { -7/16, 7/16, -7/16, 7/16, 8/16, 7/16 },
- wall_side = { -8/16, -7/16, -7/16, -7/16, 7/16, 7/16 },
- },
- selection_box = {
- type = "wallmounted",
- wall_bottom = { -7/16, -8/16, -7/16, 7/16, -7/16, 7/16 },
- wall_top = { -7/16, 7/16, -7/16, 7/16, 8/16, 7/16 },
- wall_side = { -8/16, -7/16, -7/16, -7/16, 7/16, 7/16 },
- },
- drop = "mesecons_solarpanel:solar_panel_off",
- groups = {dig_immediate=3, not_in_creative_inventory = 1},
- sounds = default.node_sound_glass_defaults(),
- mesecons = {receptor = {
- state = mesecon.state.on,
- rules = mesecon.rules.wallmounted_get,
- }},
- on_blast = mesecon.on_blastnode,
- })
- -- Solar Panel
- minetest.register_node("mesecons_solarpanel:solar_panel_off", {
- drawtype = "nodebox",
- tiles = { "jeija_solar_panel.png", },
- inventory_image = "jeija_solar_panel.png",
- wield_image = "jeija_solar_panel.png",
- paramtype = "light",
- paramtype2 = "wallmounted",
- walkable = false,
- is_ground_content = false,
- node_box = {
- type = "wallmounted",
- wall_bottom = { -7/16, -8/16, -7/16, 7/16, -7/16, 7/16 },
- wall_top = { -7/16, 7/16, -7/16, 7/16, 8/16, 7/16 },
- wall_side = { -8/16, -7/16, -7/16, -7/16, 7/16, 7/16 },
- },
- selection_box = {
- type = "wallmounted",
- wall_bottom = { -7/16, -8/16, -7/16, 7/16, -7/16, 7/16 },
- wall_top = { -7/16, 7/16, -7/16, 7/16, 8/16, 7/16 },
- wall_side = { -8/16, -7/16, -7/16, -7/16, 7/16, 7/16 },
- },
- groups = {dig_immediate=3},
- description = "Solar Panel",
- sounds = default.node_sound_glass_defaults(),
- mesecons = {receptor = {
- state = mesecon.state.off,
- rules = mesecon.rules.wallmounted_get,
- }},
- on_blast = mesecon.on_blastnode,
- })
- minetest.register_craft({
- output = "mesecons_solarpanel:solar_panel_off 1",
- recipe = {
- {"mesecons_materials:silicon", "mesecons_materials:silicon"},
- {"mesecons_materials:silicon", "mesecons_materials:silicon"},
- }
- })
- minetest.register_abm(
- {nodenames = {"mesecons_solarpanel:solar_panel_off"},
- interval = 1,
- 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
- node.name = "mesecons_solarpanel:solar_panel_on"
- minetest.swap_node(pos, node)
- mesecon.receptor_on(pos, mesecon.rules.wallmounted_get(node))
- end
- end,
- })
- minetest.register_abm(
- {nodenames = {"mesecons_solarpanel:solar_panel_on"},
- interval = 1,
- 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
- node.name = "mesecons_solarpanel:solar_panel_off"
- minetest.swap_node(pos, node)
- mesecon.receptor_off(pos, mesecon.rules.wallmounted_get(node))
- end
- end,
- })
|