Compare commits
4 Commits
0f351b8f21
...
c35e11d4b5
Author | SHA1 | Date |
---|---|---|
Pascal Abresch | c35e11d4b5 | |
Pascal Abresch | 50e6efefca | |
Pascal Abresch | d7520335c9 | |
Pascal Abresch | 2244e40cca |
|
@ -48,7 +48,8 @@ minetest.register_on_joinplayer(function(player)
|
|||
local nodeOptionsText = player:hud_add({
|
||||
hud_elem_type = "text",
|
||||
position = { x = 0.5, y = 0.5 },
|
||||
offset = { x = 0, y = -80 },
|
||||
offset = { x = -150, y = 0 },
|
||||
alignment = { x = 1, y = 0 },
|
||||
text = "",
|
||||
direction = 0,
|
||||
number = tonumber ("0xFFFFFF", 16)
|
||||
|
@ -85,6 +86,26 @@ minetest.register_globalstep(function(dtime)
|
|||
hudString = hudString .. optionname .. "["..type(default) .. "]: "
|
||||
hudString = hudString .. tostring(option) .. " (" .. tostring(default) .. ")\n"
|
||||
end
|
||||
hudString = hudString .. "\n\nValues\n"
|
||||
if minetest.registered_nodes[node.name]._sparkoutput then
|
||||
for outputname, outputfunc in pairs(minetest.registered_nodes[node.name]._sparkoutput) do
|
||||
local output = sparktech.getoutput(i["pos"], outputname)
|
||||
local outputType = sparktech.getoutputtype(i["pos"], outputname)
|
||||
if outputType == "number" then
|
||||
hudString = hudString .. outputname .. ": " .. tostring(output) .. " (number)\n"
|
||||
elseif outputType == "string" then
|
||||
hudString = hudString .. outputname .. ": " .. output .. " (string)\n"
|
||||
elseif outputType == "ItemStack" then
|
||||
if output:is_empty() then
|
||||
hudString = hudString .. outputname .. ": No item\n"
|
||||
else
|
||||
hudString = hudString .. outputname .. ": " .. output:get_name() .. "[" .. output:get_count() .. "] (item)\n"
|
||||
end
|
||||
else
|
||||
hudString = hudString .. outputType .. "?\n".. dump2(output)
|
||||
end
|
||||
end
|
||||
end
|
||||
player:hud_change(i["nodeOptionsText"], "text", hudString)
|
||||
else
|
||||
player:hud_change(i["nodeOptionsText"], "text", "")
|
||||
|
|
|
@ -142,13 +142,13 @@ minetest.register_node(NAME .. ":burnergenerator", {
|
|||
},
|
||||
_sparkoutput = {
|
||||
burntime = function(nodepos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = minetest.get_meta(nodepos)
|
||||
local inventory = meta:get_inventory()
|
||||
local item = inventory:get_stack("fuel", 1)
|
||||
return item:get_meta():get_int("rem_energy_")
|
||||
end,
|
||||
item = function(nodepos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = minetest.get_meta(nodepos)
|
||||
local inventory = meta:get_inventory()
|
||||
return inventory:get_stack("fuel", 1)
|
||||
end
|
||||
|
|
|
@ -33,7 +33,7 @@ minetest.register_node(NAME .. ":solar", {
|
|||
_sparkoutput = {
|
||||
lightLevel = function(nodepos)
|
||||
-- TODO: cap this at light that the sun /can/ generator for this time
|
||||
return minetest.get_node_light(pos)
|
||||
return minetest.get_node_light(nodepos)
|
||||
end
|
||||
},
|
||||
})
|
||||
|
|
|
@ -5,7 +5,7 @@ local timer = function(pos, elapsed, light_level)
|
|||
local meta = minetest.get_meta(pos)
|
||||
local energy = meta:get_int("energy")
|
||||
|
||||
if energy >= light_level then
|
||||
if energy >= light_level or not sparktech.getoption(pos, "enabled") then
|
||||
energy = energy - light_level
|
||||
meta:set_int("energy", energy)
|
||||
else
|
||||
|
@ -37,7 +37,18 @@ minetest.register_node(NAME .. ":light_off", {
|
|||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_energy_wakeup = 10
|
||||
sparktech_energy_wakeup = 10,
|
||||
sparktech_io = TRUE
|
||||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 0 end
|
||||
},
|
||||
_sparkoutputtype = {
|
||||
brightness = type(0)
|
||||
},
|
||||
light_source = 0
|
||||
})
|
||||
|
@ -55,7 +66,18 @@ minetest.register_node(NAME .. ":light_lv1", {
|
|||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_energy_wakeup = 10
|
||||
sparktech_energy_wakeup = 10,
|
||||
sparktech_io = TRUE
|
||||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 1 end
|
||||
},
|
||||
_sparkoutputtype = {
|
||||
brightness = type(1)
|
||||
},
|
||||
drop = NAME .. ":light_off",
|
||||
light_source = minetest.LIGHT_MAX / 3
|
||||
|
@ -74,7 +96,18 @@ minetest.register_node(NAME .. ":light_lv2", {
|
|||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_energy_wakeup = 10
|
||||
sparktech_energy_wakeup = 10,
|
||||
sparktech_io = TRUE
|
||||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 2 end
|
||||
},
|
||||
_sparkoutputtype = {
|
||||
brightness = type(2)
|
||||
},
|
||||
drop = NAME .. ":light_off",
|
||||
light_source = (2 *minetest.LIGHT_MAX /3)
|
||||
|
@ -93,7 +126,18 @@ minetest.register_node(NAME .. ":light_lv3", {
|
|||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_energy_wakeup = 10
|
||||
sparktech_energy_wakeup = 10,
|
||||
sparktech_io = TRUE
|
||||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 3 end
|
||||
},
|
||||
_sparkoutputtype = {
|
||||
brightness = type(3)
|
||||
},
|
||||
drop = NAME .. ":light_off",
|
||||
light_source = minetest.LIGHT_MAX
|
||||
|
|
|
@ -119,20 +119,22 @@ minetest.register_node(NAME ..":charger", {
|
|||
},
|
||||
_sparkoutput = {
|
||||
charge = function(nodepos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = minetest.get_meta(nodepos)
|
||||
local inventory = meta:get_inventory()
|
||||
local item = inventory:get_stack("charge", 1)
|
||||
return item:get_meta():get_int("energy")
|
||||
local charge = item:get_meta():get_int("energy")
|
||||
if charge == 0 then return 0 end
|
||||
return charge / minetest.get_item_group(item:get_name(), "sparktech_chargable")
|
||||
end,
|
||||
item = function(nodepos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = minetest.get_meta(nodepos)
|
||||
local inventory = meta:get_inventory()
|
||||
return inventory:get_stack("charge", 1)
|
||||
end
|
||||
},
|
||||
_sparkoutputtype = {
|
||||
charge = type(int),
|
||||
item = type(ItemStack())
|
||||
charge = type(1),
|
||||
item = "ItemStack"
|
||||
}
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue