Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- args = {...}
- arg = args[1]
- print("Waiting For Start....")
- local signal = true
- local x = 1
- local xStop = 24
- local timeBetweenStops = 20
- if arg == "test" then
- timeBetweenStops = 0
- print("Testing Will Use Fuel Inefficiently")
- end
- local modem = peripheral.wrap("left")
- modem.open(42)
- local event, modemSide, senderChannel, replyChannel, message, senderDistance = os.pullEvent("modem_message")
- function refuelTurtle(a)
- if turtle.getFuelLevel() > 1000 then
- return
- end
- if a == true then
- turtle.turnRight()
- turtle.turnRight()
- print("Starting Program")
- end
- local success, data = turtle.inspect()
- if data.name == "minecraft:chest" then
- print("Chest in Front")
- turtle.suck(64)
- if turtle.refuel(64) then
- print("Refueled")
- print(turtle.getFuelLevel())
- else
- while not turtle.refuel(64) do
- print("waiting for fuel")
- turtle.suck(64)
- end
- end
- else
- print("Chest isUp")
- turtle.suckUp(64)
- if turtle.refuel(64) then
- print("Refueled")
- print(turtle.getFuelLevel())
- else
- while not turtle.refuel(64) do
- print("waiting for fuel")
- turtle.suck(64)
- end
- end
- end
- if a == true then
- turtle.turnRight()
- turtle.turnRight()
- end
- end
- function main()
- local directionFromHome = "AWAY"
- while signal do
- directionFromHome = "AWAY"
- while x <= xStop do
- if turtle.forward() == true then
- x = x + 1
- end
- end
- turtle.turnRight()
- turtle.turnRight()
- directionFromHome = "TOWARDS"
- while x > 1 do
- if turtle.forward() == true then
- x = x - 1
- end
- end
- if turtle.getFuelLevel() <= 500 then
- refuelTurtle(false)
- end
- os.sleep(timeBetweenStops)
- turtle.turnRight()
- turtle.turnRight()
- directionFromHome = "AWAY"
- print("FUEL REMAINING: ", turtle.getFuelLevel())
- end
- if directionFromHome == "AWAY" and x > 1 then
- turtle.turnRight()
- turtle.turnRight()
- while x > 1 do
- if turtle.forward() == true then
- x = x - 1
- end
- end
- else
- while x > 1 do
- if turtle.forward() == true then
- x = x - 1
- end
- end
- end
- end
- if message == "start" then
- refuelTurtle(true)
- print("Recieved Start Command")
- function receive()
- local event, modemSide, senderChannel, replyChannel, message, senderDistance = os.pullEvent("modem_message")
- if message == "stop" then
- print("Recieved Stop command")
- signal = false
- end
- end
- parallel.waitForAll(receive, main)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement