Pipeworks compatibility: Generator

This commit is contained in:
mrkubax10 2024-02-28 18:37:20 +01:00
parent d800a22fe0
commit 3bc3dab88c
1 changed files with 45 additions and 0 deletions

View File

@ -50,3 +50,48 @@ local override={
}
minetest.override_item("industrialtest:iron_furnace",override)
minetest.override_item("industrialtest:iron_furnace_active",override)
-- Generator
def=table.copy(minetest.registered_nodes["industrialtest:generator"])
def.groups.tubedevice=1
def.groups.tubedevice_receiver=1
override={
groups=def.groups,
tube={
insert_object=function(pos,node,stack,direction)
local listname=direction.y==1 and "fuel" or "charged"
if listname=="charged" and not industrialtest.api.hasPowerStorage(stack:get_meta()) then
return nil
end
local meta=minetest.get_meta(pos)
local inv=meta:get_inventory()
local result=inv:add_item(listname,stack)
minetest.get_node_timer(pos):start(industrialtest.updateDelay)
return result
end,
can_insert=function(pos,node,stack,direction)
local listname=direction.y==1 and "fuel" or "charged"
if listname=="charged" and not industrialtest.api.hasPowerStorage(stack:get_meta()) then
return false
end
local meta=minetest.get_meta(pos)
local inv=meta:get_inventory()
return inv:room_for_item(listname,stack)
end,
connect_sides={
left=1,
right=1,
back=1,
bottom=1,
top=1
}
},
after_place_node=pipeworks.after_place,
after_dig_node=pipeworks.after_dig,
on_rotate=pipeworks.on_rotate
}
minetest.override_item("industrialtest:generator",override)
minetest.override_item("industrialtest:generator_active",override)