Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- on runtime
- version_num = "1.0"
- function Turn(orientation, times)
- if(orientation == "Left" or orientation == "left") then
- for i = 1, times, 1 do
- turtle.turnLeft()
- end
- elseif(orientation == "Right" or orientation == "right") then
- for i = 1, times, 1 do
- turtle.turnRight()
- end
- end
- end
- function Move(direction,times)
- direction = string.lower(direction)
- if (direction == "forward") then
- for i = 1, times, 1 do
- turtle.forward()
- end
- elseif (direction == "back") then
- for i = 1, times, 1 do
- turtle.back()
- end
- elseif (direction == "up") then
- for i = 1, times, 1 do
- turtle.up()
- end
- elseif (direction == "down") then
- for i = 1, times, 1 do
- turtle.down()
- end
- end
- end
- function Minetunnel()
- turtle.dig()
- while not turtle.forward() do
- turtle.dig()
- end
- turtle.digUp()
- end
- function MineQuit()
- repeat
- local _, key = os.pullEvent("key")
- until key == keys.q or miner_break == true
- miner_break = true
- end
- function MinetunnelReturn(orientation)
- orientation = string.lower(orientation)
- if(orientation == "left") then
- Turn("left",1)
- elseif (orientation == "right") then
- Turn("right",1)
- end
- for i = 1, 10, 1
- do
- Minetunnel()
- end
- Turn("right",2)
- for i = 1, 10, 1 do
- Minetunnel()
- end
- if(orientation == "left") then
- Turn("left",1)
- elseif (orientation == "right") then
- Turn("right",1)
- end
- end
- function Miner(tunnels)
- miner_break = false
- miner_finished = false
- local iteration = tunnels
- local insufficient_fuel = false
- for length = 1,tunnels,1 do
- global_length = length
- iteration = iteration - 1
- if turtle.getFuelLevel() <= tunnels*3 + 50 then
- insufficient_fuel = true
- break
- end
- if miner_break == true then
- break
- end
- MinetunnelReturn("left")
- if miner_break == true then
- break
- end
- MinetunnelReturn("right")
- if (tunnels > 1) then
- if (iteration >= 1) then
- for i = 1,3,1 do
- Minetunnel()
- end
- end
- end
- end
- local tunnelblocks = tunnels * 3
- Move("back",tunnelblocks)
- if insufficient_fuel == true then
- nofuel = true
- end
- miner_finished = true
- miner_break = true
- end
- function Header(clear)
- local text = ' Branch Mine Helper '
- local headertext = '---------------------------------------'
- term.setBackgroundColor(colors.gray)
- if clear == true then
- term.clear()
- end
- term.setCursorPos(1,1)
- term.blit(headertext,'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee','000000000000000000000000000000000000000')
- term.setCursorPos(10,1)
- term.blit(text,'00000000000000000000','ffffffffffffffffffff')
- term.setCursorPos(11,5)
- end
- function MainMenu()
- term.setCursorPos(2,3)
- term.setTextColor(colors.white)
- term.blit("+-Options:--------+","0e00000000eeeeeeee0",'7777777777777777777')
- term.setCursorPos(2,4)
- term.blit("| [R]efuel |","001e100000000000000",'7fffffffffffffffff7')
- term.setCursorPos(2,5)
- term.blit("| [S]tart |","001e100000000000000",'7fffffffffffffffff7')
- term.setCursorPos(2,6)
- term.blit("| [E]xit |","001e100000000000000",'7fffffffffffffffff7')
- term.setCursorPos(2,7)
- term.blit("+-----------------+",'0eeeeeeeeeeeeeeeee0','7777777777777777777')
- term.setCursorPos(2,10)
- term.blit("Script Created By DrPleaseRespect","eeeeeeeeeeeeeeeeebbbbbbbbbbbbbbbb",'fffffffffffffffffffffffffffffffff')
- term.setCursorPos(2,11)
- term.blit("Ver. ","eee00","fffff")
- term.setCursorPos(7,11)
- term.setBackgroundColor(colors.black)
- term.write(version_num)
- term.setBackgroundColor(colors.gray)
- end
- function GetKey()
- while true do
- local event, key, is_held = os.pullEvent('key')
- return key
- end
- end
- function scrollthing(height)
- for i = 1, height, 1 do
- term.scroll(1)
- Header(false)
- os.sleep(0.01)
- end
- end
- function scrollthing_noheader(height)
- for i = 1, height,1 do
- term.scroll(1)
- os.sleep(0.01)
- end
- end
- function custom_refuel()
- for i = 1, 16, 1 do
- turtle.select(i)
- turtle.refuel()
- end
- turtle.select(1)
- end
- function FuelThing()
- while true do
- Header(true)
- Fuel = turtle.getFuelLevel()
- Max_Fuel = turtle.getFuelLimit()
- term.setCursorPos(2,3)
- term.setTextColor(colors.white)
- term.blit("+-Fuel Amount:----------+","0e000000000000eeeeeeeeee0",'7777777777777777777777777')
- term.setCursorPos(2,4)
- term.blit("| Fuel: |","0000000000000000000000000",'7fffffffffffffffffffffff7')
- term.setCursorPos(2,5)
- term.blit("| Max Fuel: |","0000000000000000000000000",'7fffffffffffffffffffffff7')
- term.setCursorPos(2,6)
- term.blit("+-----------------------+","0eeeeeeeeeeeeeeeeeeeeeee0",'7777777777777777777777777')
- term.setCursorPos(10,4)
- term.setBackgroundColor(colors.black)
- term.write(Fuel)
- term.setCursorPos(14,5)
- term.write(Max_Fuel)
- term.setBackgroundColor(colors.gray)
- term.setCursorPos(2,8)
- term.blit("+---Options---+","0ddd0000000ddd0",'777777777777777')
- term.setCursorPos(2,9)
- term.blit("| [R]efuel |","001e10000000000",'7fffffffffffff7')
- term.setCursorPos(2,10)
- term.blit("| [E]xit |","001e10000000000","7fffffffffffff7")
- term.setCursorPos(2,11)
- term.blit("+-------------+","0ddddddddddddd0","777777777777777")
- local key = GetKey()
- if key == keys.r then
- term.setCursorPos(4,9)
- term.blit('[R]','5b5','fff')
- term.setCursorPos(2,13)
- term.write("Press Enter to Continue")
- local key = GetKey()
- if key == keys.enter then
- term.setBackgroundColor(colors.black)
- term.setTextColor(colors.yellow)
- term.setCursorPos(12,6)
- term.write("+---------------+")
- term.setCursorPos(12,7)
- term.setTextColor(colors.red)
- term.write("| Please Wait |")
- term.setTextColor(colors.yellow)
- term.setCursorPos(12,8)
- term.write("+---------------+")
- term.setBackgroundColor(colors.gray)
- term.setTextColor(colors.white)
- custom_refuel()
- end
- elseif key == keys.e then
- term.setCursorPos(4,10)
- term.blit('[E]','5b5','fff')
- term.setCursorPos(2,13)
- term.write("Press Enter to Continue")
- local key = GetKey()
- if key == keys.enter then
- scrollthing(15)
- break
- end
- end
- end
- end
- function MinerMenu()
- tunnel_length = 1
- while true do
- if tunnel_length < 1 then
- tunnel_length = 1
- elseif tunnel_length > 1000 then
- tunnel_length = 1000
- end
- Header(true)
- term.setCursorPos(2,4)
- term.setTextColor(colors.white)
- term.blit("+- Tunnel Length: -----------+","0aa00000000000000aaaaaaaaaaaa0","ffffffffffffffffffffffffffffff")
- term.setCursorPos(2,5)
- term.blit("| Length: |","0aaaaaaaaaaaaaaaaaaaaaaaaaaaa0","ffffffffffffffffffffffffffffff")
- term.setCursorPos(2,6)
- term.blit("+----------------------------+","0aaaaaaaaaaaaaaaaaaaaaaaaaaaa0","ffffffffffffffffffffffffffffff")
- term.setCursorPos(12,5)
- term.write(tunnel_length)
- term.setCursorPos(2,8)
- term.write("Left Arrow = -1 | Up Arrow = +10")
- term.setCursorPos(2,9)
- term.write("Right Arrow = +1 | Down Arrow = -10")
- term.setCursorPos(2,11)
- term.blit("[S]tart","1e10000",'fffffff')
- term.setCursorPos(2,12)
- term.blit("[E]xit","1e1000",'ffffff')
- local key = GetKey()
- if key == keys.left then
- tunnel_length = tunnel_length - 1
- elseif key == keys.right then
- tunnel_length = tunnel_length + 1
- elseif key == keys.up then
- tunnel_length = tunnel_length + 10
- elseif key == keys.down then
- tunnel_length = tunnel_length - 10
- elseif key == keys.s then
- term.setCursorPos(2,11)
- term.blit("[S]",'5b5', 'fff')
- term.setCursorPos(10,11)
- term.write('Press Enter to Continue')
- local function minething()
- Miner(tunnel_length)
- end
- local key_pressed = GetKey()
- if key_pressed == keys.enter then
- parallel.waitForAny(minething, MineQuit, WhileMiningMenu)
- scrollthing(15)
- break
- end
- elseif key == keys.e then
- term.setCursorPos(2,12)
- term.blit("[E]",'5b5', 'fff')
- term.setCursorPos(10,12)
- term.write('Press Enter to Continue')
- local key_pressed = GetKey()
- if key_pressed == keys.enter then
- scrollthing(15)
- break
- end
- end
- end
- end
- function WhileMiningMenu()
- while true do
- Header(true)
- term.setCursorPos(2,3)
- term.blit("+- Info: ------------+","0d0000000dddddddddddd0","7777777777777777777777")
- term.setCursorPos(2,4)
- term.blit("| Fuel: |","0000000000000000000000","7ffffffffffffffffffff7")
- term.setCursorPos(2,5)
- term.blit("| Length: |","0000000000000000000000","7ffffffffffffffffffff7")
- term.setCursorPos(2,6)
- term.blit("| Max Length: |","0000000000000000000000","7ffffffffffffffffffff7")
- term.setCursorPos(2,7)
- term.blit("+--------------------+","0dddddddddddddddddddd0","7777777777777777777777")
- term.setCursorPos(10,4)
- term.write(turtle.getFuelLevel())
- term.setCursorPos(12,5)
- term.write(global_length)
- term.setCursorPos(16,6)
- term.write(tunnel_length)
- term.setCursorPos(2,9)
- term.write('Press Q to Exit')
- if miner_break == true then
- term.setCursorPos(2,9)
- term.write('Waiting for Routine to Finish')
- if miner_finished == true then
- break
- end
- end
- sleep(0.5)
- end
- end
- -- function modal(message)
- -- local x , y = term.getCursorPos()
- -- local message_length = string.len(message)
- -- local top = '+'
- -- for i = 1,message_length,1 do
- -- top = top .. '-'
- -- end
- -- top = top .. '+'
- -- term.setCursorPos(x,y)
- -- y = y + 1
- -- term.write(top)
- -- term.setCursorPos(x,y)
- -- y = y + 1
- -- term.write('|'..message..'|')
- -- term.setCursorPos(x,y)
- -- term.write(top)
- -- end
- --Miner(5)
- while true do
- miner_break = false
- nofuel = false
- if nofuel == true then
- FuelThing()
- end
- Header(true)
- MainMenu()
- local key_pressed = GetKey()
- if key_pressed == keys.r then
- term.setCursorPos(4,4)
- term.blit("[R]",'5b5', 'fff')
- term.setCursorPos(2,8)
- term.write('Press Enter to Continue')
- local key_pressed = GetKey()
- if key_pressed == keys.enter then
- scrollthing(10)
- FuelThing()
- end
- elseif key_pressed == keys.s then
- term.setCursorPos(4,5)
- term.blit("[S]",'5b5', 'fff')
- term.setCursorPos(2,8)
- term.write('Press Enter to Continue')
- local key_pressed = GetKey()
- if key_pressed == keys.enter then
- scrollthing(10)
- MinerMenu()
- end
- elseif key_pressed == keys.e then
- term.setCursorPos(4,6)
- term.blit("[E]",'5b5', 'fff')
- term.setCursorPos(2,8)
- term.write('Press Enter to Continue')
- local key_pressed = GetKey()
- if key_pressed == keys.enter then
- term.setBackgroundColor(colors.black)
- scrollthing_noheader(15)
- term.setCursorPos(1,1)
- term.clear()
- error()
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment