111 lines
No EOL
2.1 KiB
Lua
111 lines
No EOL
2.1 KiB
Lua
require("inventory")
|
|
require("pathfinding")
|
|
|
|
function mill(extra_items)
|
|
-- 0.4 second/item
|
|
go_to(vector.new(-4,0,0),"south")
|
|
item_count = 0
|
|
if turtle.getItemCount() ~= 0 then
|
|
item_count = 1
|
|
end
|
|
insertForward(1, 1)
|
|
for _,item in pairs(extra_items) do
|
|
item_count = item_count + item.count
|
|
selectItem(item.name)
|
|
insertForward(1, item.count)
|
|
end
|
|
print(item_count,"items")
|
|
sleep(0.5)
|
|
sleep(0.4 * item_count)
|
|
for i = 1, 10 do
|
|
takeForward(i)
|
|
end
|
|
end
|
|
function deploy(extra_items, nbt)
|
|
-- extra_items should only be one item
|
|
go_to(vector.new(2,0,0), "south")
|
|
insertForwardDepot(1)
|
|
goUp()
|
|
goUp()
|
|
selectItem(extra_items[1].name, nbt)
|
|
turtle.dropUp(1)
|
|
peripheral.call("front", "pullItem", "top")
|
|
|
|
goDown()
|
|
goDown()
|
|
takeForwardDepot()
|
|
end
|
|
function deploy_tool(extra_items)
|
|
deploy(extra_items, true)
|
|
goUp()
|
|
goUp()
|
|
peripheral.call("front", "pushItem", "top")
|
|
turtle.suckUp()
|
|
end
|
|
function furnace(extra_items)
|
|
go_to(vector.new(1,0,0), "south")
|
|
item_count = 0
|
|
if turtle.getItemCount() ~= 0 then
|
|
item_count = 1
|
|
end
|
|
insertForward(1, 1)
|
|
for _,item in pairs(extra_items) do
|
|
item_count = item_count + item.count
|
|
selectItem(item.name)
|
|
insertForward(1, item.count)
|
|
end
|
|
wait_time = 10 * item_count
|
|
-- peripheral.call("front", "")
|
|
-- TODO refuel
|
|
sleep(wait_time)
|
|
takeForward(3)
|
|
end
|
|
function press(_)
|
|
go_to(vector.new(-1,0,0), "south")
|
|
insertForwardDepot(1)
|
|
sleep(1)
|
|
takeForwardDepot()
|
|
end
|
|
function compact(extra_items) end
|
|
function mix(extra_items)
|
|
go_to(vector.new(-3,0,0), "south")
|
|
insertForward(1, 1)
|
|
for _, item in pairs(extra_items) do
|
|
selectItem(item.name)
|
|
insertForward(nil, item.count)
|
|
end
|
|
goUp()
|
|
goUp()
|
|
goDown()
|
|
goDown()
|
|
sleep(10)
|
|
-- todo wait until ingredients are gone
|
|
takeForward(10)
|
|
end
|
|
function craft(extra_items)
|
|
slot = 5
|
|
for _, item in pairs(extra_items) do
|
|
slot = slot + 1
|
|
if slot == 9 then
|
|
slot = 10
|
|
elseif slot == 13 then
|
|
slot = 14
|
|
end
|
|
if item.name ~= "nil" then
|
|
selectItem(item.name)
|
|
turtle.transferTo(slot, 1)
|
|
end
|
|
end
|
|
turtle.craft()
|
|
end
|
|
|
|
return {
|
|
mill = mill,
|
|
deploy = deploy,
|
|
deploy_tool = deploy_tool,
|
|
furnace = furnace,
|
|
press = press,
|
|
compact = compact,
|
|
mix = mix,
|
|
craft = craft
|
|
} |