Advertisement
natie3

SoulShardTurtle

Jul 25th, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.57 KB | None | 0 0
  1. modem = peripheral.wrap("right")
  2. modem.open(500)
  3.  
  4. local function CheckSlots()
  5.   if turtle.getItemCount(3) == 0 then
  6.     return 3
  7.   elseif turtle.getItemCount(4) == 0 then
  8.     return 4
  9.   elseif turtle.getItemCount(5) == 0 then
  10.     return 5
  11.   elseif turtle.getItemCount(6) == 0 then
  12.     return 6
  13.   elseif turtle.getItemCount(7) == 0 then
  14.     return 7
  15.   end
  16.   return 0
  17. end
  18.  
  19. local function PlaceShard(slot)
  20.   turtle.select(2)
  21.   if free > 0 then
  22.     turtle.dig()
  23.   end
  24.   turtle.place()
  25.   turtle.select(slot)
  26.   turtle.place()
  27. end
  28.  
  29. local function GoSpawner()
  30.   modem.transmit(501,500,"1")
  31.   turtle.select(1)
  32.   turtle.dig()
  33.   for i = 1, 4 do
  34.     turtle.forward()
  35.   end
  36. end
  37.  
  38. local function GoBack()
  39.   for i = 1, 4 do
  40.     turtle.back()
  41.   end
  42.   turtle.select(1)
  43.   turtle.place()
  44.   modem.transmit(501,500,"0")
  45.   if free > 0 then
  46.     turtle.turnRight()
  47.     os.sleep(10)
  48.     turtle.select(free)
  49.     turtle.suck()
  50.     turtle.turnLeft()
  51.   end
  52. end
  53.  
  54. local function reFuel()
  55.   turtle.select(16)
  56.   turtle.suckDown()
  57.   turtle.refuel()
  58. end
  59.  
  60. while true do
  61.   if turtle.getFuelLevel() < 5000 then reFuel() end
  62.   local event, modemside, senderChannel, replyChannel, message, senderDistance = os.pullEvent("modem_message")
  63.   getal = tonumber(message)
  64.   free = CheckSlots()
  65.   if getal == 0 then
  66.     GoSpawner()
  67.     turtle.select(2)
  68.     turtle.dig()
  69.     GoBack()
  70.   end
  71.   if (getal > 2 ) and (getal < 8) and not (getal == free) then
  72.     GoSpawner()
  73.     PlaceShard(getal)
  74.     GoBack()
  75.   end
  76.   if getal == 1 then
  77.     modem.transmit(502,500,free)    
  78.   end
  79. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement