--[[ TechAge ======= Copyright (C) 2019 Joachim Stolberg AGPL v3 See LICENSE.txt for more information Simple TA1 Hopper ]]-- -- Consumer Related Data local CRD = function(pos) return (minetest.registered_nodes[techage.get_node_lvm(pos).name] or {}).consumer end -- use the minecart hopper minetest.register_alias("techage:hopper_ta1", "minecart:hopper") minecart.register_inventory( { "techage:chest_ta2", "techage:chest_ta3", "techage:chest_ta4", "techage:meltingpot", "techage:meltingpot_active", "techage:ta4_reactor", }, { put = { listname = "main", }, take = { listname = "main", }, } ) minecart.register_inventory( { "techage:ta2_distributor_pas", "techage:ta2_distributor_act", "techage:ta3_distributor_pas", "techage:ta3_distributor_act", "techage:ta4_distributor_pas", "techage:ta4_distributor_act", "techage:ta4_high_performance_distributor_pas", "techage:ta4_high_performance_distributor_act", }, { put = { allow_inventory_put = function(pos, stack, player_name) CRD(pos).State:start_if_standby(pos) return true end, listname = "src", }, take = { listname = "src", }, } ) minecart.register_inventory( { "techage:sieve0", "techage:sieve1", "techage:sieve2", "techage:sieve3", }, { put = { allow_inventory_put = function(pos, stack, player_name) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() if inv:is_empty("src") then minetest.get_node_timer(pos):start(2) return true end end, listname = "src", }, } ) minecart.register_inventory( { "techage:ta1_mill_base", }, { put = { listname = "src", }, take = { listname = "dst", }, } )