--rednet.open("top") x1,y1,z1 = 1769,56,5005 x2,y2,z2 =1694,1,5082 tx,ty,tz =1717,47,5005 homex,homey,homez = 1715,48,5004 tool = "ExtraUtilities:destructionpickaxe" --tool = "ExtraUtilities:erosionshovel" allP = peripheral.getNames() drone = {} drone.interface = {} drone.data = {} cd = 1 function dropInventory() drone.interface[cd].clearWhitelistItemFilter() drone.interface[cd].addArea(tx,ty,tz) drone.interface[cd].setSides(true, true, true, true, true, true) --drone.interface[cd].addWhitelistItemFilter(tool, 0, false, false, false, false) drone.interface[cd].setAction("inventoryExport") end function getTool(t) drone.interface[cd].addArea(tx,ty,tz) drone.interface[cd].addWhitelistItemFilter(tool, 0, false, false, false, false) drone.interface[cd].setAction("inventoryImport") end function goHome(index) drone.interface[index].addArea(homex,homey,homez) drone.interface[index].setAction("teleport") end for i=1,#allP do if peripheral.getType(allP[i]) == "droneInterface" then table.insert(drone.interface,peripheral.wrap(allP[i])) table.insert(drone.data,{curAction = "none"}) print("Adding Drone Interface- " .. allP[i]) if drone.interface[#drone.interface].isConnectedToDrone() then print("Drone is Connected to interface " .. #drone.interface .. ".") goHome(#drone.interface) else print("No drones are connected to interface " .. #drone.interface .. ".") end end end --function minerRoutine(x1,y1,z1,x2,y2,z2,shape) while true do term.clear() term.setCursorPos(1,3) for i=1,#drone.interface do cd = i if drone.interface[cd].isConnectedToDrone() then term.setCursorPos(2,2+(i*2)) write("Drone " .. i ..": ") -- clear inventory if drone.interface[cd].isActionDone() then if drone.data[cd].curAction == "none" then drone.data[cd].curAction = "clrInv" dropInventory() --get Tool elseif drone.data[cd].curAction == "clrInv" then drone.data[cd].curAction = "getTool" getTool(tool) -- Action Area elseif drone.data[cd].curAction == "getTool" then drone.data[cd].curAction = "doAction" drone.interface[cd].addArea(x1,y1,z1,x2,y2,z2,"Filled") -- drone.interface[cd].addWhitelistItemFilter("minecraft:dirt", 0, false, false, false, false) -- drone.interface[cd].addWhitelistItemFilter("minecraft:gravel", 0, false, false, false, false) -- drone.interface[cd].addWhitelistItemFilter("minecraft:sand", 0, false, false, false, false) drone.interface[cd].addWhitelistItemFilter("minecraft:stone", 0, false, false, false, false) drone.interface[cd].setAction("dig") elseif drone.data[cd].curAction == "doAction" then drone.data[cd].curAction = "gohome" goHome(cd) elseif drone.data[cd].curAction == "gohome" then drone.data[cd].curAction = "done" end term.setBackgroundColor(colors.red) else term.setBackgroundColor(colors.green) end write(drone.data[cd].curAction) term.setBackgroundColor(colors.black) write(" Pressure: " .. drone.interface[cd].getDronePressure() ) end sleep(.05) end sleep(1) end --while true do --local id,msg,proto = rednet.recieve() --if id == remoteID then --rednet.close()