i have create a lamp, but it not work.
edit :you must create an API for add eletric tool (generator or utilizer) for someone want add
Code: Select all
minetest.register_craft({
output = 'technic:lamp 1',
recipe = {
{'moreores:copper_ingot'},
{'default:glass'},
}
})
minetest.register_node("technic:lamp", {
description = "lamp",
--drawtype = "glasslike",
drawtype = "nodebox",
tiles = {"technic_lamp.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png",
"technic_solar_panel_side.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png"},
light_propagates = true,
paramtype = "light",
sunlight_propagates = true,
light_source = 12,
is_ground_content = true,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
technic_power_machine=1,
internal_EU_buffer=0;
internal_EU_buffer_size=100;
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
},
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
meta:set_string("infotext", "charge")
meta:set_float("technic_power_machine", 1)
meta:set_float("active", 1)
meta:set_float("internal_EU_buffer", 100)
meta:set_float("internal_EU_buffer_size", 100)
end,
})
minetest.register_abm({
nodenames = {"technic:lamp"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local meta = minetest.env:get_meta(pos)
local internal_EU_buffer=meta:get_float("internal_EU_buffer")
local internal_EU_buffer_size=meta:get_float("internal_EU_buffer_size")
local tot=0
local text="inactive"
if internal_EU_buffer>0 then
tot=internal_EU_buffer-12
text="active";
meta:set_float("light_propagates",true)
else meta:set_float("light_propagates",false)
end
meta:set_string("infotext",text.." charge "..tot)
meta:set_float("internal_EU_buffer",tot)
end,
})