aging fine adjustment

This commit is contained in:
Joachim Stolberg 2019-01-01 18:53:17 +01:00
parent 539401e2fb
commit c020615b10
4 changed files with 15 additions and 15 deletions

@ -57,7 +57,7 @@ local P = minetest.string_to_pos
local M = minetest.get_meta
local AGING_FACTOR = 3 -- defect random factor
local AGING_FACTOR = 4 -- defect random factor
--
-- Local States

@ -32,7 +32,7 @@ local State = tubelib.NodeStates:new({
infotext_name = "HighPerf Distributor",
cycle_time = CYCLE_TIME,
standby_ticks = STANDBY_TICKS,
aging_factor = 10,
aging_factor = 50,
})
local function formspec(pos, meta)
@ -197,7 +197,7 @@ local function distributing(pos, meta)
-- no filter configured?
if next(kvFilterItemNames) == nil then return end
local moved_items_total = 0
local busy = false
local inv = meta:get_inventory()
local list = inv:get_list("src")
@ -222,7 +222,7 @@ local function distributing(pos, meta)
stack:set_count(0)
local color = Side2Color[side]
counter[color] = counter[color] + num
moved_items_total = moved_items_total + num
busy = true
else
second_try = true -- port blocked
end
@ -238,7 +238,7 @@ local function distributing(pos, meta)
stack:set_count(0)
local color = Side2Color[side]
counter[color] = counter[color] + num
moved_items_total = moved_items_total + num
busy = true
end
end
end
@ -246,8 +246,8 @@ local function distributing(pos, meta)
inv:set_list("src", list)
meta:set_string("item_counter", minetest.serialize(counter))
if moved_items_total > 0 then
State:keep_running(pos, meta, COUNTDOWN_TICKS, moved_items_total)
if busy then
State:keep_running(pos, meta, COUNTDOWN_TICKS, 1)
else
State:idle(pos, meta)
end

@ -31,7 +31,7 @@ local State = tubelib.NodeStates:new({
cycle_time = CYCLE_TIME,
standby_ticks = STANDBY_TICKS,
has_item_meter = true,
aging_factor = 60,
aging_factor = 50,
})
local function pushing(pos, meta)
@ -44,7 +44,7 @@ local function pushing(pos, meta)
State:blocked(pos, meta)
return
end
State:keep_running(pos, meta, COUNTDOWN_TICKS, items:get_count())
State:keep_running(pos, meta, COUNTDOWN_TICKS, 1)
return
end
State:idle(pos, meta)

@ -15,8 +15,8 @@
]]--
-- tubelib aging feature
local AGING_LEVEL1 = 80 * tubelib.machine_aging_value
local AGING_LEVEL2 = 240 * tubelib.machine_aging_value
local AGING_LEVEL1 = 50 * tubelib.machine_aging_value
local AGING_LEVEL2 = 150 * tubelib.machine_aging_value
local Cache = {}
@ -48,10 +48,10 @@ local function allow_metadata_inventory_move(pos, from_list, from_index, to_list
return count
end
local function aging(pos, meta, num)
local cnt = meta:get_int("tubelib_aging") + num
local function aging(pos, meta)
local cnt = meta:get_int("tubelib_aging") + 1
meta:set_int("tubelib_aging", cnt)
if cnt > AGING_LEVEL1 and math.random(AGING_LEVEL2/num) == 1 then
if cnt > AGING_LEVEL1 and math.random(AGING_LEVEL2) == 1 then
minetest.get_node_timer(pos):stop()
local node = minetest.get_node(pos)
node.name = "tubelib_addons3:pushing_chest_defect"
@ -97,7 +97,7 @@ local function shift_items(pos, elapsed)
stack = inv:get_stack("shift", idx)
stack:take_item(num)
inv:set_stack("shift", idx, stack)
aging(pos, meta, num)
aging(pos, meta)
return true
else
set_state(meta, "blocked")