Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function startup()
- drone = peripheral.wrap("left")
- rednet.open("top")
- rechargePos = {-7,87,-1}
- shipPickupPos = {-14,88,0,-19,85,7}
- end
- function main()
- while true do
- info1,info2,info3,info4 = os.pullEvent()
- if info1 == "rednet_message" then
- if info3 == "getLastDronePos" then
- xPos, yPos, zPos = drone.getDronePosition()
- rednet.send(info2,{["action"]="sendingLastDronePos",["x"]=xPos-0.5,["y"]=yPos-0.33,["z"]=zPos-0.5})
- end
- if info3 == "pickUpPlayer" then
- xPos, yPos, zPos = drone.getDronePosition()
- drone.clearArea()
- drone.addArea(xPos+1,yPos+1,zPos+1,xPos-1,yPos-1,zPos-1,"Filled")
- drone.clearWhitelistText()
- drone.addWhitelistText("Player")
- drone.abortAction()
- drone.setAction("entity_import")
- i=0
- repeat
- sleep(0.2)
- i=i+1
- until drone.isActionDone() or i == 25
- drone.abortAction()
- end
- if type(info3) == "table" then
- if info3["action"] == "goto" then
- curPosX,curPosY,curPosZ = drone.getDronePosition()
- drone.clearArea()
- drone.addArea(info3["x"],info3["y"],info3["z"])
- drone.abortAction()
- drone.setAction("goto")
- isOutOfRange = false
- if drone.isActionDone() then
- rednet.send(info2,"outOfRange")
- isOutOfRange = true
- end
- repeat
- sleep(0.1)
- until drone.isActionDone()
- xDif = math.max(curPosX-info3["x"],(curPosX-info3["x"])*-1)
- yDif = math.max(curPosY-info3["y"],(curPosY-info3["y"])*-1)
- zDif = math.max(curPosZ-info3["z"],(curPosZ-info3["z"])*-1)
- dif = xDif+yDif+zDif
- if dif > 250 then
- drone.abortAction()
- drone.setAction("entity_export")
- end
- -- if dif > 250 then
- -- drone.setSide("up",true)
- -- drone.setSide("north",false)
- -- drone.setSide("east",false)
- -- drone.setSide("south",false)
- -- drone.setSide("west",false)
- -- drone.setSide("down",false)
- -- drone.clearArea()
- -- drone.addArea(info3["x"]+1,info3["y"],info3["z"])
- -- drone.abortAction()
- -- drone.setAction("block_right_click")
- -- repeat
- -- sleep(0.1)
- -- until drone.isActionDone()
- -- drone.clearArea()
- -- drone.addArea(info3["x"]-1,info3["y"],info3["z"])
- -- drone.abortAction()
- -- drone.setAction("block_right_click")
- -- repeat
- -- sleep(0.1)
- -- until drone.isActionDone()
- -- drone.clearArea()
- -- drone.addArea(info3["x"],info3["y"]-1,info3["z"])
- -- drone.abortAction()
- -- drone.setAction("block_right_click")
- -- repeat
- -- sleep(0.1)
- -- until drone.isActionDone()
- -- drone.clearArea()
- -- drone.addArea(info3["x"],info3["y"],info3["z"]+1)
- -- drone.abortAction()
- -- drone.setAction("block_right_click")
- -- repeat
- -- sleep(0.1)
- -- until drone.isActionDone()
- -- drone.clearArea()
- -- drone.addArea(info3["x"],info3["y"],info3["z"]-1)
- -- drone.abortAction()
- -- drone.setAction("block_right_click")
- -- repeat
- -- sleep(0.1)
- -- until drone.isActionDone()
- -- drone.clearArea()
- -- drone.addArea(info3["x"],info3["y"],info3["z"])
- -- drone.abortAction()
- -- drone.setAction("goto")
- -- repeat
- -- sleep(0.1)
- -- until drone.isActionDone()
- -- drone.abortAction()
- -- drone.setAction("entity_export")
- -- repeat
- -- sleep(0.1)
- -- until drone.isActionDone()
- -- drone.clearArea()
- -- drone.addArea(info3["x"]+1,info3["y"]+1,info3["z"]+1,info3["x"]-1,info3["y"]-1,info3["z"]-1,"Filled")
- -- drone.abortAction()
- -- drone.setAction("entity_import")
- -- end
- end
- if info3["action"] == "pickUpShip" then
- drone.clearArea()
- drone.addArea(info3["x"],info3["y"],info3["z"])
- drone.abortAction()
- drone.setAction("goto")
- repeat
- sleep(0.1)
- until drone.isActionDone()
- drone.clearArea()
- drone.addArea(info3["x"]-1,info3["y"]-1,info3["z"]-1,info3["x"]+1,info3["y"]+1,info3["z"]+1,"Filled")
- drone.clearWhitelistText()
- drone.addWhitelistText("minecart")
- drone.abortAction()
- drone.setAction("entity_import")
- end
- if info3["action"] == "pickUpItem" then
- drone.clearArea()
- drone.addArea(info3["x"],info3["y"],info3["z"])
- drone.abortAction()
- drone.setAction("goto")
- repeat
- sleep(0.1)
- until drone.isActionDone()
- drone.clearArea()
- drone.addArea(info3["x"],info3["y"]-1,info3["z"])
- drone.setSide("down",true)
- drone.abortAction()
- drone.setAction("inventory_import")
- end
- end
- end
- end
- end
- startup()
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement