Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rednet.open("right")
- minFuel = 200
- stuffToSort = true
- itemData = turtle.getItemDetail()
- storageServerId = 2
- senderId = 0
- finDistanceToGo = 0
- distanceOut = 0
- waiting = false
- local success, blockData = turtle.inspect()
- if success then
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- end
- while turtle.getFuelLevel() < minFuel do
- turtle.refuel(1)
- turtle.refuel(2)
- turtle.refuel(3)
- turtle.refuel(4)
- turtle.refuel(5)
- turtle.refuel(6)
- turtle.refuel(7)
- turtle.refuel(8)
- turtle.refuel(9)
- turtle.refuel(10)
- turtle.refuel(11)
- turtle.refuel(12)
- turtle.refuel(13)
- turtle.refuel(14)
- turtle.refuel(15)
- turtle.refuel(16)
- print("Fuel Level: "..turtle.getFuelLevel())
- end
- while stuffToSort == true do
- --check for chest amount in self
- turtle.select(16)
- itemData = turtle.getItemDetail()
- if itemData then
- if itemData.name == "minecraft:chest" then
- print("got chests in slot 16")
- if itemData.count < 2 then
- print("temData.count < 2")
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- turtle.drop()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.turnRight()
- turtle.suck()
- turtle.turnLeft()
- turtle.back()
- turtle.back()
- turtle.back()
- itemData = turtle.getItemDetail()
- while itemData.count < 2 do
- print("put chests in slot 16")
- itemData = turtle.getItemDetail()
- end
- else
- print("there are enough chests in slot 16")
- end
- else
- print("itemData.name ~= 'minecraft:chest'")
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- turtle.drop()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.turnRight()
- turtle.suck()
- turtle.turnLeft()
- turtle.back()
- turtle.back()
- turtle.back()
- itemData = turtle.getItemDetail()
- while itemData.count < 2 do
- print("put chests in slot 16")
- itemData = turtle.getItemDetail()
- end
- end
- else
- print("no data")
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- turtle.drop()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.turnRight()
- turtle.suck()
- turtle.turnLeft()
- turtle.back()
- turtle.back()
- turtle.back()
- itemData = turtle.getItemDetail()
- while itemData.count < 2 do
- print("put chests in slot 16")
- itemData = turtle.getItemDetail()
- end
- end
- --check port 2 for stuff to store
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- turtle.select(1)
- turtle.drop()
- turtle.select(1)
- turtle.drop()
- turtle.select(2)
- turtle.drop()
- turtle.select(3)
- turtle.drop()
- turtle.select(4)
- turtle.drop()
- turtle.select(5)
- turtle.drop()
- turtle.select(6)
- turtle.drop()
- turtle.select(7)
- turtle.drop()
- turtle.select(8)
- turtle.drop()
- turtle.select(9)
- turtle.drop()
- turtle.select(10)
- turtle.drop()
- turtle.select(11)
- turtle.drop()
- turtle.select(12)
- turtle.drop()
- turtle.select(13)
- turtle.drop()
- turtle.select(14)
- turtle.drop()
- turtle.select(15)
- turtle.drop()
- turtle.select(1)
- turtle.suck()
- itemData = turtle.getItemDetail()
- --get chest location and go there
- if itemData then
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- print(itemData.name)
- rednet.send(storageServerId, itemData.name)
- senderId, message, protocol = rednet.receive()
- if senderId == storageServerId then
- finDistanceToGo = (tonumber(message) * 2)-1
- print (finDistanceToGo)
- while distanceOut < finDistanceToGo do
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- distanceOut = distanceOut + 1
- end
- turtle.turnRight()
- local success, blockData = turtle.inspect()
- if success then
- print(blockData.name)
- if blockData.name == "minecraft:chest" then
- turtle.drop()
- else
- --build chest
- turtle.select(2)
- turtle.dig()
- turtle.forward()
- turtle.dig()
- turtle.digUp()
- turtle.forward()
- turtle.digUp()
- turtle.select(16)
- turtle.back()
- turtle.place()
- turtle.back()
- turtle.place()
- turtle.select(1)
- turtle.drop()
- end
- else
- --build chest
- turtle.select(2)
- turtle.dig()
- turtle.forward()
- turtle.dig()
- turtle.digUp()
- turtle.forward()
- turtle.digUp()
- turtle.select(16)
- turtle.back()
- turtle.place()
- turtle.back()
- turtle.place()
- turtle.select(1)
- turtle.drop()
- end
- turtle.turnLeft()
- while distanceOut > 0 do
- turtle.back()
- distanceOut = distanceOut - 1
- end
- end
- else
- --stuffToSort = false
- turtle.select(1)
- waiting = true
- while waiting == true do
- turtle.suck()
- itemData = turtle.getItemDetail()
- turtle.select(1)
- if itemData then
- turtle.drop()
- waiting = false
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- else
- print("Nothing to sort")
- end
- end
- end
- end
- rednet.close("right")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement