Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local trashListChest = peripheral.wrap("back")
- local aeNetwork = peripheral.wrap("right")
- local craftListChest = peripheral.wrap("top")
- local alwaysCraftListChest = peripheral.wrap("left")
- local loopCounter = 3601
- function processTrash ()
- if unexpected_condition then error() end
- trash_list = {}
- for i,data in pairs(trashListChest.getAllStacks(false)) do
- data_stack = {["id"] = data.id, ["dmg"] = data.dmg}
- network_item = aeNetwork.getItemDetail(data_stack, false)
- if network_item ~= nil and data_stack ~= nil and data ~= nil then
- while network_item.qty > ( data.qty * 1000 ) do
- if trash_list[data.display_name] == nil then
- trash_list[data.display_name] = aeNetwork.exportItem(data_stack, "up", math.min(network_item.qty - ( data.qty * 1000 ), data.max_size)).size
- else
- trash_list[data.display_name] = trash_list[data.display_name] + aeNetwork.exportItem(data_stack, "up", math.min(network_item.qty - ( data.qty * 1000 ), data.max_size)).size
- end
- sleep(.05)
- network_item = aeNetwork.getItemDetail(data_stack, false)
- if ( network_item == nil ) then
- break
- end
- end
- end
- end
- if trash_list ~= nil then
- print("Cleaned out:")
- for name,i in pairs(trash_list) do
- print(name.." - "..i)
- end
- end
- end
- function processCrafting ()
- if unexpected_condition then error() end
- for i,data in pairs(craftListChest.getAllStacks(false)) do
- data_stack = {["id"] = data.id, ["dmg"] = data.dmg}
- network_item = aeNetwork.getItemDetail(data_stack, false)
- if network_item ~= nil and data_stack ~= nil and data ~= nil then
- if data["max_size"] == 1 then
- data["max_size"] = 5
- end
- if ( ( data.qty * data.max_size ) - network_item.qty ) > 0 then
- print("Crafting:"..((data.qty * data.max_size) - network_item.qty ).." x "..data.display_name)
- aeNetwork.requestCrafting(network_item, ( data.qty * data.max_size ) - network_item.qty)
- sleep(1)
- loopCounter = loopCounter + 1
- end
- end
- end
- end
- function processAlwaysCraft ()
- if unexpected_condition then error() end
- for i,data in pairs(alwaysCraftListChest.getAllStacks(false)) do
- data_stack = {["id"] = data.id, ["dmg"] = data.dmg}
- network_item = aeNetwork.getItemDetail(data_stack, false)
- if network_item ~= nil and data_stack ~= nil and data ~= nil then
- print("Crafting:"..data.qty.." x "..data.display_name)
- aeNetwork.requestCrafting(network_item, ( data.qty ) )
- sleep(1)
- loopCounter = loopCounter + 1
- end
- end
- end
- while true do
- if pcall(processTrash) then
- sleep(30)
- loopCounter = loopCounter + 30
- else
- print("Error trashing, trying to run again...")
- sleep(1)
- loopCounter = loopCounter + 1
- end
- if loopCounter >= 3600 then
- if pcall(processCrafting) then
- loopCounter = 0
- else
- print("Error crafting, trying to run again...")
- end
- end
- if pcall(processAlwaysCraft) then
- else
- print("Error crafting, trying to run again...")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment