Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require("component")
- local me = component.me_interface
- local items = {
- {id = "appliedenergistics2:item.ItemMultiMaterial", dmg = 22, size = 1000}
- }
- local function preCraft(item, dmg, amount, me)
- local meCraftebles = me.getCraftables()
- for k = 1, #meCraftebles do
- local currentItem = meCraftebles[k].getItemStack()
- if currentItem.name == item and currentItem.damage == dmg then
- local isCrafting = meCraftebles[k].request(amount)
- print("Crafting running. Request size " .. tostring(amount) .. ".")
- while 1 do
- if isCrafting.isCanceled() == true then
- print("Request error.")
- return false
- end
- if isCrafting.isDone() == true then
- print("\t Exporting...")
- print("Craft done!")
- os.sleep(15)
- return true
- else
- print("\tExporting error: " .. er)
- return false
- end
- os.sleep(0)
- end
- end
- end
- end
- local function findInNetwork(main)
- while 1 do
- for i = 1, #items do
- local fingerprint = {id = items[i].id, dmg = items[i].dmg}
- print("Looking for " .. items[i].id)
- local _, value = pcall(main.getItemDetail, fingerprint)
- if value ~= nil then
- local itemDetails = value.basic()
- print("Found " .. itemDetails.display_name .. ". Checking size...")
- if itemDetails.qty < items[i].size then
- print("Need to craft " .. tostring(items[i].size - itemDetails.qty) .. "!")
- preCraft(items[i].id, items[i].dmg, (items[i].size - itemDetails.qty), main)
- else
- print("There are " .. tostring(itemDetails.qty) .. " in system, no need to craft it!")
- end
- else
- print("There is no " .. items[i].id .. ". Starting test craft")
- preCraft(items[i].id, items[i].dmg, 1, main)
- end
- print("-------------------------------------------------------------------------------")
- end
- end
- os.sleep(0)
- end
- ok, err = pcall(findInNetwork)
- print(ok, err)
- --computer.shutdown(true)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement