Adaption to Tubelib

This commit is contained in:
Joachim Stolberg 2017-09-09 18:55:42 +02:00
parent 5e72cc82cf
commit e37bf960fb

View File

@ -331,24 +331,37 @@ for idx = 0,4 do
end end
end end
------------------------------------------------------------------------
-- Optional adaption to tubelib
------------------------------------------------------------------------
if tubelib then if tubelib then
local function get_items(pos) tubelib.register_node("gravelsieve:auto_sieve3",
local meta = minetest.get_meta(pos) {
local inv = meta:get_inventory() "gravelsieve:auto_sieve0",
return tubelib.get_item(inv, "dst") "gravelsieve:auto_sieve1",
end "gravelsieve:auto_sieve2",
},
local function put_items(pos, items) {
minetest.get_node_timer(pos):start(1.0) on_pull_item = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
return tubelib.put_item(inv, "src", items) return tubelib.get_item(inv, "dst")
end end,
on_push_item = function(pos, item)
tubelib.register_item_functions("gravelsieve:auto_sieve0", put_items, get_items) minetest.get_node_timer(pos):start(1.0)
tubelib.register_item_functions("gravelsieve:auto_sieve1", put_items, get_items) local meta = minetest.get_meta(pos)
tubelib.register_item_functions("gravelsieve:auto_sieve2", put_items, get_items) local inv = meta:get_inventory()
tubelib.register_item_functions("gravelsieve:auto_sieve3", put_items, get_items) return tubelib.put_item(inv, "src", item)
end,
on_recv_message = function(pos, topic, payload)
if topic == "start" then
start_the_machine(pos)
elseif topic == "stop" then
stop_the_machine(pos)
end
end,
})
end end
minetest.register_node("gravelsieve:sieved_gravel", { minetest.register_node("gravelsieve:sieved_gravel", {