Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- This is a ComputerCraft script to easily run turtle API commands from the turtle's command line.
- local tArgs = {...}
- if #tArgs < 1 then
- print('Usage: do <cmd> [<repeat>] [more]')
- print(' Commands are:')
- print(' f, b - forward, back')
- print(' l, r - left, right')
- print(' d, du, dd - dig (up, down)')
- print(' i, iu, id - inspect (up, down)')
- print(' sel <num> - select inv num')
- print(' s, su, sd - suck items (up, down)')
- print('Example: do f 2 r f 2')
- print('(Moves forward twice, turns right,')
- print('moves forward twice again.)')
- end
- local function outOfFuel()
- if turtle.getFuelLevel() == 'unlimited' or turtle.getFuelLevel() == 0 then
- print('Out of fuel!')
- return true
- else
- return false
- end
- end
- for i = 1,#tArgs do
- cmd = tArgs[i] -- get the command
- if #tArgs < i + 1 then
- reps = 1 -- end of cmdline args, so set this to 1
- else
- if type(tArgs[i+1]) == 'number' then
- reps = tonumber(tArgs[i+1]) -- set
- else
- -- "reps" is actually the next command, so set it to 1
- reps = 1
- end
- end
- if tArgs[i] == 'f' then
- for j = 1,reps do
- print('f ' .. tostring(turtle.forward()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'b' then
- for j = 1,reps do
- print('b ' .. tostring(turtle.back()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'l' then
- for j = 1,reps do
- print('l ' .. tostring(turtle.turnLeft()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'r' then
- for j = 1,reps do
- print('r ' .. tostring(turtle.turnRight()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'd' then
- for j = 1,reps do
- print('d ' .. tostring(turtle.dig()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'du' then
- for j = 1,reps do
- print('du ' .. tostring(turtle.digUp()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'dd' then
- for j = 1,reps do
- print('dd ' .. tostring(turtle.digDown()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'i' then
- for j = 1,reps do
- print('i ' .. tostring(turtle.inspect()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'iu' then
- for j = 1,reps do
- print('iu ' .. tostring(turtle.inspectUp()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'id' then
- for j = 1,reps do
- print('id ' .. tostring(turtle.inspectDown()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'sel' then
- -- in this case, reps is the inventory number
- print('sel ' .. reps .. ' ' .. tostring(turtle.sel(reps)))
- if outOfFuel() then return end
- end
- if tArgs[i] == 's' then
- for j = 1,reps do
- print('s ' .. tostring(turtle.suck()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'su' then
- for j = 1,reps do
- print('su ' .. tostring(turtle.suckUp()))
- if outOfFuel() then return end
- end
- end
- if tArgs[i] == 'sd' then
- for j = 1,reps do
- print('sd ' .. tostring(turtle.suckDown()))
- if outOfFuel() then return end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement