diff --git a/releasenotes.md b/releasenotes.md index eec6593..50980b8 100644 --- a/releasenotes.md +++ b/releasenotes.md @@ -4,7 +4,6 @@ ## V1.13 Beta (2018-08-28) - ### Additions - A Liquid Sampler node is added. It is able to take all kind or renewable liquids (registered via bucket.register_liquid) @@ -15,19 +14,38 @@ - The new controller needs batteries. Thus, Smartline has now its own battery node. The sl_controller.battery will not be needed any more. - ### Removals - recipe for sl_controller/batteries removed. - Recipe for Smartline controller V1 removed. - ### Changes - Quarry can no go direct from FAULT into RUNNING without reset the digging position - ### Fixes - bug in open/close door command for Minetest v0.4.17+ fixed + + +## V1.13.1 Beta (2018-09-02) + +### Additions + +- none + +### Removals + +- none + +### Changes + +- Unloaded pushers now return "blocked", if the status is requested. + Before, it returned the last stored state. + +### Fixes + +- Bug in the "HighPerf Pushing Chest" fixed. For the case the node pushes items + in its own chest, the items went lost. + diff --git a/tubelib/pusher.lua b/tubelib/pusher.lua index 087b0d8..693a303 100644 --- a/tubelib/pusher.lua +++ b/tubelib/pusher.lua @@ -237,6 +237,9 @@ tubelib.register_node("tubelib:pusher", {"tubelib:pusher_active"}, { elseif topic == "off" then return switch_off(pos, node) elseif topic == "state" then + if node.name == "ignore" then -- unloaded pusher? + return "blocked" + end local meta = minetest.get_meta(pos) local running = meta:get_int("running") or tubelib.STATE_STOPPED return tubelib.statestring(running) diff --git a/tubelib_addons1/pusher_fast.lua b/tubelib_addons1/pusher_fast.lua index 5bceaa5..ebf00a4 100644 --- a/tubelib_addons1/pusher_fast.lua +++ b/tubelib_addons1/pusher_fast.lua @@ -237,6 +237,9 @@ tubelib.register_node("tubelib_addons1:pusher_fast", {"tubelib_addons1:pusher_fa elseif topic == "off" then return switch_off(pos, node) elseif topic == "state" then + if node.name == "ignore" then -- unloaded pusher? + return "blocked" + end local meta = minetest.get_meta(pos) local running = meta:get_int("running") or tubelib.STATE_STOPPED return tubelib.statestring(running) diff --git a/tubelib_addons3/pusher.lua b/tubelib_addons3/pusher.lua index b8b0629..762dcea 100644 --- a/tubelib_addons3/pusher.lua +++ b/tubelib_addons3/pusher.lua @@ -218,6 +218,9 @@ tubelib.register_node("tubelib_addons3:pusher", {"tubelib_addons3:pusher_active" elseif topic == "off" then return switch_off(pos, node) elseif topic == "state" then + if node.name == "ignore" then -- unloaded pusher? + return "blocked" + end local meta = minetest.get_meta(pos) local running = meta:get_int("running") or tubelib.STATE_STOPPED return tubelib.statestring(running) diff --git a/tubelib_addons3/pushing_chest.lua b/tubelib_addons3/pushing_chest.lua index 3415aa7..18ee8d2 100644 --- a/tubelib_addons3/pushing_chest.lua +++ b/tubelib_addons3/pushing_chest.lua @@ -77,7 +77,12 @@ local function shift_items(pos, elapsed) local stack = inv:get_stack("shift", idx) if stack:get_count() > 0 then if tubelib.push_items(pos, "R", stack, player_name) then - inv:set_stack("shift", idx, nil) + -- The effort is needed here for the case the + -- pusher pushes into its own chest. + local num = stack:get_count() + stack = inv:get_stack("shift", idx) + stack:take_item(num) + inv:set_stack("shift", idx, stack) return true else set_state(meta, "blocked")