Namespacing pt. 1
This commit is contained in:
52
mods/ip_terumet/interop/tubelib.lua
Normal file
52
mods/ip_terumet/interop/tubelib.lua
Normal file
@@ -0,0 +1,52 @@
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user