38 lines
962 B
Lua
38 lines
962 B
Lua
minetest.register_node(minetest.get_current_modname() .. ":solar", {
|
|
description = "Solar Cell",
|
|
tiles = {
|
|
"solar_top.png",
|
|
"solar_side.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{0.5, -0.2, 0.5, -0.5, 0.2, -0.5},
|
|
{-0.2, -0.5, -0.2, 0.2, -0.2, 0.2}
|
|
}
|
|
},
|
|
groups = {
|
|
sparktech_techy = 1,
|
|
sparktech_energy_type = 2,
|
|
sparktech_net_trigger = 1,
|
|
sparktech_energy_max = 50
|
|
}
|
|
})
|
|
|
|
minetest.register_abm({
|
|
nodenames = {minetest.get_current_modname() .. ":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)
|
|
local emax = minetest.get_item_group(node.name, "sparktech_energy_max")
|
|
if meta:get_int("energy") > emax then
|
|
meta:set_int("energy", emax)
|
|
end
|
|
end
|
|
})
|