93 lines
1.7 KiB
Lua
93 lines
1.7 KiB
Lua
--[[
|
|
|
|
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",
|
|
},
|
|
}
|
|
)
|