The3vilM0nk3y

droneReciever

Mar 7th, 2015
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. --rednet.open("top")
  2. x1,y1,z1 = 1769,56,5005
  3. x2,y2,z2 =1694,1,5082
  4. tx,ty,tz =1717,47,5005
  5. homex,homey,homez = 1715,48,5004
  6. tool = "ExtraUtilities:destructionpickaxe"
  7. --tool = "ExtraUtilities:erosionshovel"
  8. allP = peripheral.getNames()
  9. drone = {}
  10. drone.interface = {}
  11. drone.data = {}
  12. cd = 1
  13. function dropInventory()
  14. drone.interface[cd].clearWhitelistItemFilter()
  15. drone.interface[cd].addArea(tx,ty,tz)
  16. drone.interface[cd].setSides(true, true, true, true, true, true)
  17. --drone.interface[cd].addWhitelistItemFilter(tool, 0, false, false, false, false)
  18. drone.interface[cd].setAction("inventoryExport")
  19. end
  20. function getTool(t)
  21. drone.interface[cd].addArea(tx,ty,tz)
  22. drone.interface[cd].addWhitelistItemFilter(tool, 0, false, false, false, false)
  23. drone.interface[cd].setAction("inventoryImport")
  24. end
  25. function goHome(index)
  26. drone.interface[index].addArea(homex,homey,homez)
  27. drone.interface[index].setAction("teleport")
  28. end
  29. for i=1,#allP do
  30. if peripheral.getType(allP[i]) == "droneInterface" then
  31. table.insert(drone.interface,peripheral.wrap(allP[i]))
  32. table.insert(drone.data,{curAction = "none"})
  33. print("Adding Drone Interface- " .. allP[i])
  34. if drone.interface[#drone.interface].isConnectedToDrone() then
  35. print("Drone is Connected to interface " .. #drone.interface .. ".")
  36. goHome(#drone.interface)
  37. else
  38. print("No drones are connected to interface " .. #drone.interface .. ".")
  39. end
  40. end
  41. end
  42. --function minerRoutine(x1,y1,z1,x2,y2,z2,shape)
  43. while true do
  44. term.clear()
  45. term.setCursorPos(1,3)
  46. for i=1,#drone.interface do
  47. cd = i
  48. if drone.interface[cd].isConnectedToDrone() then
  49. term.setCursorPos(2,2+(i*2))
  50. write("Drone " .. i ..": ")
  51. -- clear inventory
  52. if drone.interface[cd].isActionDone() then
  53. if drone.data[cd].curAction == "none" then
  54. drone.data[cd].curAction = "clrInv"
  55. dropInventory()
  56.  
  57.  
  58. --get Tool
  59. elseif drone.data[cd].curAction == "clrInv" then
  60. drone.data[cd].curAction = "getTool"
  61. getTool(tool)
  62.  
  63. -- Action Area
  64. elseif drone.data[cd].curAction == "getTool" then
  65. drone.data[cd].curAction = "doAction"
  66. drone.interface[cd].addArea(x1,y1,z1,x2,y2,z2,"Filled")
  67. -- drone.interface[cd].addWhitelistItemFilter("minecraft:dirt", 0, false, false, false, false)
  68. -- drone.interface[cd].addWhitelistItemFilter("minecraft:gravel", 0, false, false, false, false)
  69. -- drone.interface[cd].addWhitelistItemFilter("minecraft:sand", 0, false, false, false, false)
  70. drone.interface[cd].addWhitelistItemFilter("minecraft:stone", 0, false, false, false, false)
  71. drone.interface[cd].setAction("dig")
  72.  
  73. elseif drone.data[cd].curAction == "doAction" then
  74. drone.data[cd].curAction = "gohome"
  75. goHome(cd)
  76.  
  77. elseif drone.data[cd].curAction == "gohome" then
  78. drone.data[cd].curAction = "done"
  79. end
  80. term.setBackgroundColor(colors.red)
  81. else
  82. term.setBackgroundColor(colors.green)
  83. end
  84. write(drone.data[cd].curAction)
  85. term.setBackgroundColor(colors.black)
  86. write(" Pressure: " .. drone.interface[cd].getDronePressure() )
  87. end
  88. sleep(.05)
  89. end
  90. sleep(1)
  91. end
  92. --while true do
  93. --local id,msg,proto = rednet.recieve()
  94. --if id == remoteID then
  95.  
  96. --rednet.close()
Advertisement
Add Comment
Please, Sign In to add comment