pagliaccio wrote:i have create a lamp, but it not work.
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, })
for the technic machine to work, there will be needed just one more function which is not ready yet
machine will have to be registered as a power user or power producer so the battery box could load/unload it.
this will be aviable soon.
2nd thought. make energy buffers a little bigger, like 10 times bigger as power usage per second at least.
it will prevent power cuts in case of lags, and will let the machine work for a few seconds.
if you want to run your machine before API is here look here:
https://github.com/RealBadAngel/technic ... c.lua#L508
put here check for your machine (PR stand for producers, RE for power receivers)