Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- numberOfItems = 3
- itemList = {"minecraft:planks", 0, 500,
- "minecraft:stick", 0, 2000,
- "appliedenergistics2:item.ItemMultiMaterial", 20, 32
- }
- lastCrafts = {}
- local component = require("component")
- local me_controller = component.me_interface
- function table_invert(t)
- local s={}
- for k,v in pairs(t) do
- s[v]=k
- print(k)
- --print(k .. " = " .. v)
- end
- return s
- end
- function getItemAE(itemName, dmgValue)
- local me_controller = component.me_interface
- local item = me_controller.getItemsInNetwork({name = itemName})
- if item.n >=1 then
- for i = 1, item.n do
- if item[i].damage == dmgValue then
- return item[i]
- end
- end
- else
- print("no item " .. itemName .. " found")
- end
- print("error item " .. itemName .. " : " .. dmgValue .. " not found")
- return nil
- end
- function getCraftableAE(itemName, dmgValue)
- local me_controller = component.me_interface
- local craftables = me_controller.getCraftables({name = itemName})
- if craftables.n >=1 then
- for i = 1, craftables.n do
- if craftables[i].getItemStack().damage == dmgValue then
- return craftables[i]
- end
- end
- else
- print("no craftable " .. itemName .. " found")
- end
- print("error craftable " .. itemName .. " : " .. dmgValue .. " not found")
- return nil
- end
- function tryCraftAE(itemListIndex, itemName, itemDmgValue, craftNbrRequested)
- if lastCrafts[itemListIndex] == nil or lastCrafts[itemListIndex].isDone() == true then
- local craftables = getCraftableAE(itemName, itemDmgValue)
- lastCrafts[itemListIndex] = craftables.request(craftNbrRequested)
- end
- end
- while true do
- for i = 1, numberOfItems do
- local itemName = itemList[i*3-2]
- local itemDmgValue = itemList[i*3-1]
- local minItemInStock = itemList[i*3]
- local item = getItemAE(itemName, itemDmgValue)
- if item ~= nil then
- local itemCount = item.size
- if itemCount < minItemInStock then
- tryCraftAE(i, itemName, itemDmgValue, minItemInStock-itemCount)
- end
- end
- end
- os.sleep(5)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement