Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local var1 = 0 -- forward movement count
- local var2 = 0 -- torch placement count
- local var3 = 1 -- torch slot
- local var4 = 1 -- coal slot
- local var5 = 0 -- starting inventory slot
- local var6 = 0 -- turning function count
- local fuelLevel = 0
- local torchLevel = 0
- local function placeChest() -- this function makes sure that the area is ready to place the chest.
- if turtle.detectUp == true then
- turtle.digUp()
- end
- if turtle.detectDown() == true then
- turtle.up()
- end
- turtle.select(16)
- turtle.placeDown()
- end
- local function removeChest() -- removes chest after it's been placed
- turtle.select(16)
- if turtle.getItemCount(16) == 0 then
- turtle.digDown()
- elseif turtle.getItemCount(16) > 2 then
- turtle.dropDown()
- turtle.digDown()
- end
- end
- local function findTorch() -- finds torch stack in inventory
- for i = 1,12 do
- turtle.select(14)
- if turtle.compareTo(i) then
- var3 = i
- end
- turtle.select(var3)
- end
- end
- local function findFuel() -- finds the stack of fuel for turtle
- for i = 1,12 do
- turtle.select(15)
- if turtle.compareTo(i) then
- var4 = i
- end
- turtle.select(var4)
- end
- end
- local function selectTorch()
- turtle.select(var3)
- end
- local function selectFuel()
- turtle.select(var4)
- end
- local function torch() -- counts down to 8 blocks in space, then places a torch
- if true then
- var2 = var2 + 1
- if var2 == 8 then
- turtle.turnRight()
- selectTorch()
- turtle.dig()
- turtle.place()
- turtle.select(1)
- turtle.turnLeft()
- var2 = 0
- end
- end
- end
- local function findFirstSlot()
- if true then
- if var3 > var4 then
- var5 = var3 + 1
- elseif var3 < var4 then
- var5 = var4 + 1
- end
- end
- end
- local function dumpToChest()
- for i = var5,13 do
- if turtle.getItemCount(13) > 0 then
- placeChest()
- turtle.select(i)
- turtle.dropDown()
- end
- removeChest()
- end
- end
- local function refillFuel()
- if turtle.getItemCount(var4) <= 5 then
- turtle.getItemSpace(var4)
- fuelLevel = turtle.getItemSpace(var4)
- placeChest()
- turtle.select(var4)
- turtle.suckDown(fuelLevel)
- removeChest()
- end
- turtle.getFuelLevel()
- if turtle.getFuelLevel() <= 5 then
- turtle.refuel(2)
- end
- end
- local function refillTorch()
- if turtle.getItemCount(var3) <= 5 then
- turtle.getItemSpace(var3)
- torchLevel = turtle.getItemSpace(var3)
- placeChest()
- turtle.select(var3)
- turtle.suckDown(torchLevel)
- removeChest()
- end
- end
- local function inventoryManager()
- if true then
- refillTorch()
- refillFuel()
- dumpToChest()
- end
- end
- local function move64Forward() --moves the turtle on the y axis by 64. Also uses inventory management previously stated.
- if true then
- turtle.forward()
- inventoryManager()
- torch()
- var1 = var1 + 1
- end
- end
- local function tunnel() -- makes 1x3x1 tunnel
- if true then
- turtle.dig()
- turtle.forward()
- if turtle.forward() == false then
- repeat
- turtle.dig()
- sleep(0.25)
- until turtle.forward() == true
- end
- turtle.digUp()
- turtle.digDown()
- end
- end
- local function tunnelRight()
- turtle.turnRight()
- tunnel()
- torch()
- inventoryManager()
- tunnel()
- torch()
- inventoryManager()
- tunnel()
- torch()
- inventoryManager()
- tunnel()
- torch()
- inventoryManager()
- turtle.turnRight()
- end
- local function tunnelLeft()
- turtle.turnLeft()
- tunnel()
- torch()
- inventoryManager()
- tunnel()
- torch()
- inventoryManager()
- tunnel()
- torch()
- inventoryManager()
- tunnel()
- torch()
- inventoryManager()
- turtle.turnLeft()
- end
- local function tunnel64Forward() -- applies tunnel and forward motion as well as inventory management.
- repeat
- move64Forward()
- if not turtle.forward() then
- tunnel()
- print(var1)
- end
- until var1 >= 64
- var1 = 0
- end
- local function startUp()
- print("Thank you for choosing ZigZagarat as your main stripmining protacol. Please wait for startup")
- findFuel()
- findTorch()
- findFirstSlot()
- end
- local function movePattern()
- while true do
- tunnel64Forward()
- tunnelRight()
- tunnel64Forward()
- tunnelLeft()
- end
- end
- local function onKeyPress()
- while ture do
- print("Press any key to stop")
- local event = os.pullEvent()
- if event == "key" then
- return
- end
- end
- end
- startUp()
- inventoryManager()
- movePattern()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement