2016-12-29 14:57:53 +01:00

41 lines
1.1 KiB
Lua

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
})