Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- modem = peripheral.wrap("left")
- interface = peripheral.wrap("front")
- modem.open(3)
- modem.open(4)
- modem.open(69)
- table = {}
- resultTable = {}
- turtleNum = 12
- while (1) do
- table = {}
- resultTable = {}
- a, b, c, d, input, e = os.pullEvent("modem_message")
- table[1] = input
- table[2] = turtleNum
- modem.transmit(2,3,table)
- message = {}
- max = 0
- for k = 1,turtleNum,1 do
- a, b, c, d, message, e = os.pullEvent("modem_message")
- if (tonumber(message) > max) then
- max = tonumber(message)
- end
- end
- modem.transmit(5,4,max)
- for k = 1,turtleNum,1 do
- a, b, c, d, message, e = os.pullEvent("modem_message")
- for i in pairs(message) do
- resultTable[message[i]] = 1
- end
- end
- num = 1
- tt = {}
- numberedTable = {}
- numberedIndex = {}
- for result in pairs(resultTable) do
- a = string.find(result, "=")
- tt[num] = num..": "..string.sub(result, 1, a-1)
- numberedTable[num] = string.sub(result, 1, a-1)
- numberedIndex[num] = string.sub(result, a+1)
- num = num + 1
- end
- modem.transmit(69,69,tt)
- a, b, c, d, message, e = os.pullEvent("modem_message")
- message = tonumber(message)
- if (message > 0) and (message < num) then
- items = interface.findItems(numberedIndex[message])
- b = string.find(numberedTable[message],"%(")
- c = string.find(numberedTable[message],"%)")
- number = string.sub(numberedTable[message],b+1,c-1)
- if (tonumber(number) == 0) then
- number = "craftable"
- end
- modem.transmit(69,69,number)
- aa, bb, cc, dd, amount, ee = os.pullEvent("modem_message")
- amount = tonumber(amount)
- for item in pairs(items) do
- if (items[item].getMetadata()["displayName"] == string.sub(numberedTable[message], 1, b-2)) then
- if (number == "craftable") then
- crafting = items[item].craft(amount)
- while (crafting.status() == "unknown") do
- sleep(1)
- end
- if (crafting.status() == "finished") then
- while (amount > 64) do
- items[item].export("up", 64)
- amount = amount - 64
- end
- items[item].export("up", amount)
- end
- else
- while (amount > 64) do
- items[item].export("up", 64)
- amount = amount - 64
- end
- items[item].export("up", amount)
- end
- end
- end
- else
- modem.transmit(69,69,-1)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement