53 lines
2.2 KiB
Lua
53 lines
2.2 KiB
Lua
|
local tube = 'tubelib:tubeS'
|
||
|
if tubelib.version < 2.0 then
|
||
|
tube = 'tubelib:tube1'
|
||
|
end
|
||
|
|
||
|
terumet.register_machine_upgrade('tubelib', 'Tube Support Upgrade', {terumet.id('item_upg_base'), tube}, nil, 'simple', 'Allows machine to interface with tubelib tubes')
|
||
|
|
||
|
local machine_check = function(machine, player_name)
|
||
|
return machine and terumet.machine.has_upgrade(machine, 'tubelib')
|
||
|
---terumet.machine.has_auth(machine, player_name)
|
||
|
end
|
||
|
|
||
|
local PUSH_FUNC = function(pos, side, item, player_name)
|
||
|
local machine = terumet.machine.readonly_state(pos)
|
||
|
if machine_check(machine) then
|
||
|
local result = tubelib.put_item(machine.meta, 'in', item)
|
||
|
if result then machine.class.on_inventory_change(machine) end
|
||
|
return result
|
||
|
end
|
||
|
return false
|
||
|
end
|
||
|
|
||
|
local TUBELIB_MACHINE_DEF = {
|
||
|
on_pull_item = function(pos, side, player_name)
|
||
|
local machine = terumet.machine.readonly_state(pos)
|
||
|
if machine_check(machine) then
|
||
|
return tubelib.get_item(machine.meta, 'out')
|
||
|
end
|
||
|
return nil
|
||
|
end,
|
||
|
on_push_item = PUSH_FUNC,
|
||
|
on_unpull_item = PUSH_FUNC
|
||
|
}
|
||
|
|
||
|
terumet.machine.register_on_place(function (pos, machine, placer)
|
||
|
tubelib.add_node(pos, machine.class.name)
|
||
|
end)
|
||
|
|
||
|
terumet.machine.register_on_remove(function (pos, machine)
|
||
|
tubelib.remove_node(pos)
|
||
|
end)
|
||
|
|
||
|
tubelib.register_node(terumet.id('mach_asmelt'), {terumet.id('mach_asmelt_lit')}, TUBELIB_MACHINE_DEF)
|
||
|
tubelib.register_node(terumet.id('mach_htfurn'), {terumet.id('mach_htfurn_lit')}, TUBELIB_MACHINE_DEF)
|
||
|
tubelib.register_node(terumet.id('mach_lavam'), {terumet.id('mach_lavam_lit')}, TUBELIB_MACHINE_DEF)
|
||
|
tubelib.register_node(terumet.id('mach_htr_furnace'), {terumet.id('mach_htr_furnace_lit')}, TUBELIB_MACHINE_DEF)
|
||
|
tubelib.register_node(terumet.id('mach_crusher'), {terumet.id('mach_crusher_lit')}, TUBELIB_MACHINE_DEF)
|
||
|
--oops: mese garden has no upgrade slots... consider adding it if support for other upgrades is added in future
|
||
|
--tubelib.register_node(terumet.id('mach_meseg'), terumet.EMPTY, TUBELIB_MACHINE_DEF)
|
||
|
tubelib.register_node(terumet.id('mach_repm'), terumet.EMPTY, TUBELIB_MACHINE_DEF)
|
||
|
tubelib.register_node(terumet.id('mach_vulcan'), terumet.EMPTY, TUBELIB_MACHINE_DEF)
|
||
|
|