Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cobChest = peripheral.wrap("front")
- compChest = peripheral.wrap("back")
- turt = peripheral.wrap("left")
- turtInDir1 = "west"
- turtOutDir1 = "west"
- turtFailDir1 = "east"
- turtInDir2 = "east"
- turtOutDir2 = "west"
- turtFailDir2 = "west"
- craft = {1,2,3,5,6,7,9,10,11}
- compress = {
- "tile.stonebrick",
- "tile.extrautils:cobblestone_compressed.0",
- "tile.extrautils:cobblestone_compressed.1",
- "tile.extrautils:cobblestone_compressed.2",
- "tile.extrautils:cobblestone_compressed.3",
- "tile.extrautils:cobblestone_compressed.4",
- "tile.extrautils:cobblestone_compressed.5",
- "tile.extrautils:cobblestone_compressed.6"
- }
- while (true) do
- for o,p in pairs(compress) do
- if (p == "tile.stonebrick") then
- stacks = cobChest.getAllStacks()
- cobbleStacks = {}
- for i=1, cobChest.getInventorySize() do
- if (stacks[i] ~= nil and stacks[i]["raw_name"] == p) then
- cobbleStacks[i] = stacks[i]["qty"]
- end
- end
- cobbleCount = 0;
- for i,v in pairs(cobbleStacks) do
- cobbleCount = cobbleCount + v
- end
- print(cobbleCount)
- target = ((math.floor(cobbleCount / 9) <= 64) and math.floor(cobbleCount / 9) or 64)
- print(target)
- print(textutils.serialize(cobbleStacks))
- for i,v in pairs(craft) do
- print("Craft Slot: "..v)
- for j,k in pairs(cobbleStacks) do
- print(" Chest Slot: "..j)
- if (turtle.getItemCount(v)<target and k>=(target-turtle.getItemCount(v))) then
- cobChest.pushItemIntoSlot(turtInDir1,j,(target-turtle.getItemCount(v)),v)
- end
- end
- end
- doCraft = true
- for i,v in pairs(craft) do
- if (turtle.getItemDetail(v) == nil or turt.getStackInSlot(v)["raw_name"] ~= p) then
- doCraft = false
- end
- end
- if (doCraft) then
- turtle.select(4)
- turtle.craft()
- if (turtle.getItemCount() > 0 and turt.getStackInSlot(4)["raw_name"]=="tile.extrautils:cobblestone_compressed.7") then
- turt.pushItem("up",4)
- else
- turt.pushItem(turtOutDir1, 4)
- end
- else
- for i,v in pairs(craft) do
- if (turtle.getItemCount(v) > 0) then
- turt.pushItem(turtFailDir1, v)
- end
- end
- end
- stacks = compChest.getAllStacks()
- for i=1, compChest.getInventorySize() do
- if (stacks[i] ~= nil and stacks[i]["raw_name"] == p) then
- compChest.pushItem("east", i, 64, 16)
- turt.pushItem("east", 16)
- end
- end
- else
- stacks = compChest.getAllStacks()
- cobbleStacks = {}
- for i=1, compChest.getInventorySize() do
- if (stacks[i] ~= nil and stacks[i]["raw_name"] == p) then
- cobbleStacks[i] = stacks[i]["qty"]
- end
- end
- cobbleCount = 0;
- for i,v in pairs(cobbleStacks) do
- cobbleCount = cobbleCount + v
- end
- print(cobbleCount)
- target = ((math.floor(cobbleCount / 9) <= 64) and math.floor(cobbleCount / 9) or 64)
- print(target)
- print(textutils.serialize(cobbleStacks))
- for i,v in pairs(craft) do
- print("Craft Slot: "..v)
- for j,k in pairs(cobbleStacks) do
- print(" Chest Slot: "..j)
- if (turtle.getItemCount(v)<target and k>=(target-turtle.getItemCount(v))) then
- compChest.pushItemIntoSlot(turtInDir2,j,(target-turtle.getItemCount(v)),v)
- end
- end
- end
- doCraft = true
- for i,v in pairs(craft) do
- if (turtle.getItemDetail(v) == nil or turt.getStackInSlot(v)["raw_name"] ~= p) then
- doCraft = false
- end
- end
- if (doCraft) then
- turtle.select(4)
- turtle.craft()
- if (turtle.getItemCount() > 0 and turt.getStackInSlot(4)["raw_name"]=="tile.extrautils:cobblestone_compressed.7") then
- turt.pushItem("up",4)
- else
- turt.pushItem(turtOutDir2, 4)
- end
- else
- for i,v in pairs(craft) do
- if (turtle.getItemCount(v) > 0) then
- turt.pushItem(turtFailDir2, v)
- end
- end
- end
- end
- end
- sleep(.20)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement