diff --git a/mesecons_solarpanel/doc/solarpanel/preview.png b/mesecons_solarpanel/doc/solarpanel/preview.png index ed78e65..5b3ec68 100644 Binary files a/mesecons_solarpanel/doc/solarpanel/preview.png and b/mesecons_solarpanel/doc/solarpanel/preview.png differ diff --git a/mesecons_solarpanel/doc/solarpanel/recipe.png b/mesecons_solarpanel/doc/solarpanel/recipe.png index d0f3964..93ec873 100644 Binary files a/mesecons_solarpanel/doc/solarpanel/recipe.png and b/mesecons_solarpanel/doc/solarpanel/recipe.png differ diff --git a/mesecons_solarpanel/init.lua b/mesecons_solarpanel/init.lua index 861fbcd..dc0b8a4 100644 --- a/mesecons_solarpanel/init.lua +++ b/mesecons_solarpanel/init.lua @@ -1,98 +1,60 @@ -- 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}, +mesecon.register_node("mesecons_solarpanel:solar_panel", { description = "Solar Panel", + drawtype = "nodebox", + tiles = {"mesecons_solarpanel.png"}, + inventory_image = "mesecons_solarpanel.png", + wield_image = "mesecons_solarpanel.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}, + }, sounds = default.node_sound_glass_defaults(), + on_blast = mesecon.on_blastnode, +},{ + groups = {dig_immediate = 3}, mesecons = {receptor = { state = mesecon.state.off, - rules = mesecon.rules.wallmounted_get, + rules = mesecon.rules.wallmounted_get + }} +},{ + groups = {dig_immediate = 3, not_in_creative_inventory = 1}, + mesecons = {receptor = { + state = mesecon.state.on, + rules = mesecon.rules.wallmounted_get }}, - on_blast = mesecon.on_blastnode, }) minetest.register_craft({ - output = "mesecons_solarpanel:solar_panel_off 1", + output = "mesecons_solarpanel:solar_panel_off", recipe = { {"mesecons_materials:silicon", "mesecons_materials:silicon"}, {"mesecons_materials:silicon", "mesecons_materials:silicon"}, } }) -minetest.register_abm( - {nodenames = {"mesecons_solarpanel:solar_panel_off"}, +minetest.register_abm({ + label = "Solar Panel On/Off", + nodenames = { + "mesecons_solarpanel:solar_panel_off", + "mesecons_solarpanel:solar_panel_on" + }, interval = 1, chance = 1, + catch_up = false, action = function(pos, node) local light = minetest.get_node_light(pos) - - if light >= 12 then + if light >= 12 and node.name == "mesecons_solarpanel:solar_panel_off" 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) - local light = minetest.get_node_light(pos) - - if light < 12 then + elseif light < 12 and node.name == "mesecons_solarpanel:solar_panel_on" then node.name = "mesecons_solarpanel:solar_panel_off" minetest.swap_node(pos, node) mesecon.receptor_off(pos, mesecon.rules.wallmounted_get(node)) diff --git a/mesecons_solarpanel/textures/jeija_solar_panel.png b/mesecons_solarpanel/textures/jeija_solar_panel.png deleted file mode 100644 index d2f80fe..0000000 Binary files a/mesecons_solarpanel/textures/jeija_solar_panel.png and /dev/null differ diff --git a/mesecons_solarpanel/textures/mesecons_solarpanel.png b/mesecons_solarpanel/textures/mesecons_solarpanel.png new file mode 100644 index 0000000..8482ee1 Binary files /dev/null and b/mesecons_solarpanel/textures/mesecons_solarpanel.png differ