minetest.register_node("sparktech:solar", { description = "Solar Cell", tiles = { "solar_top.png", "solar_side.png" }, drawtype = "nodebox", paramtype = "light", node_box = { type = "fixed", fixed = { {0.5, -0.1, 0.5, -0.5, -0.5, -0.5} } }, groups = {oddly_breakable_by_hand = 1}, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) local meta = minetest.get_meta(pos) minetest.chat_send_player(clicker:get_player_name(), meta:get_int("energy")) end, on_construct = function(pos) local meta = minetest.get_meta(pos) meta:set_int("energy_out", 20) meta:set_int("energy_nobalance", 1) meta:set_int("energy_max", 50) end }) minetest.register_abm({ nodenames = {"sparktech:solar"}, interval = 1.0, chance = 1, catch_up = true, action = function(pos, node, active_object_count, active_object_count_wider) local meta = minetest.get_meta(pos) meta:set_int("energy", meta:get_int("energy") + 5) if meta:get_int("energy") > meta:get_int("energy_max") then meta:set_int("energy", meta:get_int("energy_max")) end end })