Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Configuração dos Slots
- local slotPicareta = 1
- local slotCarvao = 2
- local slotInicialBlocos = 3
- -- Tenta equipar a picareta no lado esquerdo da Turtle
- turtle.select(slotPicareta)
- turtle.equipLeft()
- -- Função para checar e abastecer o combustível
- local function refuelIfNeeded()
- -- Se o nível de combustível for menor que 10, ele consome 1 carvão
- if turtle.getFuelLevel() < 10 then
- turtle.select(slotCarvao)
- if turtle.getItemCount(slotCarvao) > 0 then
- turtle.refuel(1)
- else
- print("Aviso: Sem carvão no slot 2!")
- return false
- end
- end
- return true
- end
- -- Função para encontrar o próximo slot que contenha blocos
- local function getNextBlockSlot()
- for i = slotInicialBlocos, 16 do
- if turtle.getItemCount(i) > 0 then
- return i
- end
- end
- return nil
- end
- print("Iniciando rotina de colocar e quebrar blocos...")
- -- Loop principal
- while true do
- -- Checa combustível; se acabar, o programa para
- if not refuelIfNeeded() then
- break
- end
- -- Procura blocos nos slots de 3 a 16
- local blockSlot = getNextBlockSlot()
- if not blockSlot then
- print("Fim da rotina: Sem blocos para colocar (slots 3 a 16 estão vazios).")
- break
- end
- -- Seleciona o slot com o bloco
- turtle.select(blockSlot)
- -- Prevenção: Se já tiver um bloco na frente por algum erro, ela quebra primeiro
- if turtle.detect() then
- turtle.dig()
- end
- -- Coloca o bloco na frente
- if turtle.place() then
- -- Um pequeno delay ajuda o servidor (ATM10 pode ter lag de block update)
- sleep(0.1)
- -- Quebra o bloco que acabou de colocar
- turtle.dig()
- else
- print("Aviso: Não foi possível colocar o bloco. Algo está bloqueando a frente?")
- sleep(1) -- Pausa para não causar lag no servidor em caso de falha repetitiva
- end
- end
- print("Programa finalizado.")
Add Comment
Please, Sign In to add comment