46 lines
1.5 KiB
Lua
46 lines
1.5 KiB
Lua
local formspec =
|
|
"size[8,5.5]"..
|
|
"list[current_name;fuel;0,0;1,1;]"..
|
|
"list[current_player;main;0,1.5;8,3;8]" ..
|
|
"list[current_player;main;0,4.7;8,1;]"..
|
|
"bgcolor[#FC05E344;false]" ..
|
|
"listcolors[#fc059db0;#fc059dd0]"
|
|
|
|
minetest.register_node(minetest.get_current_modname() .. ":burnergenerator", {
|
|
description = "Burner Generator",
|
|
tiles = {
|
|
"generator2.png",
|
|
"generator2.png",
|
|
"generator2.png",
|
|
"generator2.png",
|
|
"generator2.png",
|
|
"generator.png"},
|
|
paramtype2 = "facedir",
|
|
groups = {
|
|
sparktech_techy = 1,
|
|
sparktech_energy_type = 2,
|
|
sparktech_net_trigger = 1,
|
|
sparktech_energy_max = 10000
|
|
},
|
|
on_construct = function(pos)
|
|
local meta = minetest.get_meta(pos)
|
|
meta:set_string("formspec", formspec)
|
|
local inv = meta:get_inventory()
|
|
inv:set_size('fuel', 1)
|
|
minetest.get_node_timer(pos):start(1)
|
|
end,
|
|
on_timer = function(pos, elapsed)
|
|
local meta = minetest.get_meta(pos)
|
|
local inv = meta:get_inventory()
|
|
local itemlist = inv:get_list("fuel")
|
|
local fuel, product = minetest.get_craft_result({method = "fuel", width = 1, items = itemlist})
|
|
local node = minetest.get_node(pos)
|
|
if fuel["time"] ~= 0 and (fuel["time"] * 10 + meta:get_int("energy") <= tonumber(minetest.get_item_group(node.name,"sparktech_energy_max"))) then
|
|
|
|
inv:set_stack("fuel", 1, product["items"][1])
|
|
meta:set_int("energy", meta:get_int("energy") + fuel["time"] * 10)
|
|
end
|
|
minetest.get_node_timer(pos):start(1)
|
|
end
|
|
})
|