minor improvements
This commit is contained in:
parent
50d0ae4ebd
commit
22c561a6e2
@ -63,7 +63,7 @@ end
|
|||||||
local function node_timer(pos, elapsed)
|
local function node_timer(pos, elapsed)
|
||||||
local crd = CRD(pos)
|
local crd = CRD(pos)
|
||||||
local nvm = techage.get_nvm(pos)
|
local nvm = techage.get_nvm(pos)
|
||||||
if crd.power_netw then
|
if crd.power_netw and techage.needs_power(nvm) then
|
||||||
power.consumer_alive(pos, crd.power_netw, crd.cycle_time)
|
power.consumer_alive(pos, crd.power_netw, crd.cycle_time)
|
||||||
end
|
end
|
||||||
-- call the node timer routine
|
-- call the node timer routine
|
||||||
|
@ -95,8 +95,18 @@ local function sort_in(inv, nvm, stack)
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_item(nvm, item_name, count)
|
local function get_item(inv, nvm, item_name, count)
|
||||||
local stack = {count = 0}
|
local stack = {count = 0}
|
||||||
|
if not inv:is_empty("main") then
|
||||||
|
if item_name then
|
||||||
|
local taken = inv:remove_item("main", {name = item_name, count = count})
|
||||||
|
if taken:get_count() > 0 then
|
||||||
|
return taken
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return techage.get_items(inv, "main", count)
|
||||||
|
end
|
||||||
|
end
|
||||||
for _,item in ipairs(nvm.inventory or {}) do
|
for _,item in ipairs(nvm.inventory or {}) do
|
||||||
if (item_name == nil and stack.name == nil) or item.name == item_name then
|
if (item_name == nil and stack.name == nil) or item.name == item_name then
|
||||||
local num = math.min(item.count, count - stack.count)
|
local num = math.min(item.count, count - stack.count)
|
||||||
@ -310,7 +320,8 @@ minetest.register_node("techage:ta4_chest", {
|
|||||||
techage.register_node({"techage:ta4_chest"}, {
|
techage.register_node({"techage:ta4_chest"}, {
|
||||||
on_pull_item = function(pos, in_dir, num, item_name)
|
on_pull_item = function(pos, in_dir, num, item_name)
|
||||||
local nvm = techage.get_nvm(pos)
|
local nvm = techage.get_nvm(pos)
|
||||||
local res = get_item(nvm, item_name, num)
|
local inv = M(pos):get_inventory()
|
||||||
|
local res = get_item(inv, nvm, item_name, num)
|
||||||
if techage.is_activeformspec(pos) then
|
if techage.is_activeformspec(pos) then
|
||||||
M(pos):set_string("formspec", formspec(pos))
|
M(pos):set_string("formspec", formspec(pos))
|
||||||
end
|
end
|
||||||
|
@ -69,7 +69,7 @@ local function pumping(pos, nvm, state, capa)
|
|||||||
local taken, name = liquid.take(pos, Flip[outdir], nil, capa, starter)
|
local taken, name = liquid.take(pos, Flip[outdir], nil, capa, starter)
|
||||||
if taken > 0 then
|
if taken > 0 then
|
||||||
local leftover = liquid.put(pos, outdir, name, taken, starter)
|
local leftover = liquid.put(pos, outdir, name, taken, starter)
|
||||||
if leftover and leftover > 0 then
|
if leftover and leftover == taken then
|
||||||
liquid.put(pos, Flip[outdir], name, leftover)
|
liquid.put(pos, Flip[outdir], name, leftover)
|
||||||
state:blocked(pos, nvm)
|
state:blocked(pos, nvm)
|
||||||
return
|
return
|
||||||
|
@ -106,7 +106,9 @@ local function node_timer(pos, elapsed)
|
|||||||
nvm.liquid = nvm.liquid or {}
|
nvm.liquid = nvm.liquid or {}
|
||||||
nvm.liquid.amount = nvm.liquid.amount or 0
|
nvm.liquid.amount = nvm.liquid.amount or 0
|
||||||
|
|
||||||
|
if not nvm.error or nvm.error == 0 then
|
||||||
power.consumer_alive(pos, Cable, CYCLE_TIME)
|
power.consumer_alive(pos, Cable, CYCLE_TIME)
|
||||||
|
end
|
||||||
|
|
||||||
if nvm.liquid.amount >= 5 and nvm.liquid.name == "techage:oil_source" then
|
if nvm.liquid.amount >= 5 and nvm.liquid.name == "techage:oil_source" then
|
||||||
nvm.liquid.amount = nvm.liquid.amount - 5
|
nvm.liquid.amount = nvm.liquid.amount - 5
|
||||||
|
Loading…
Reference in New Issue
Block a user