Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- currentSlot = turtle.getSelectedSlot()
- function refuelOnce()
- if turtle.getFuelLevel() < 20 then
- turtle.select(16)
- turtle.refuel(1)
- turtle.select(currentSlot)
- end
- end
- function searchForChest()
- for search = 1,4 do
- succes, data = turtle.inspect()
- if data.name ~= "minecraft:chest" then
- turtle.turnLeft()
- end
- end
- end
- function fillFromChest()
- for i = 1,14 do
- turtle.select(i)
- turtle.suck()
- end
- putCoalToSlot16()
- end
- function dropToChest()
- if turtle.getSelectedSlot() == 16 then
- turtle.drop()
- else
- turtle.select(14)
- turtle.drop()
- end
- end
- function putCoalToSlot16 ()
- for i = 1,15 do
- turtle.select(i)
- data = turtle.getItemDetail()
- if turtle.getItemCount() > 0 and data.name == "minecraft:coal" then
- turtle.transferTo(16)
- end
- end
- refuelOnce()
- end
- function smelt()
- print("Moving up to furnace")
- for searchOven = 1,4 do
- succes, data = turtle.inspect()
- if data.name ~= "minecraft:furnace" and data.name ~= "minecraft:lit_furnace" then
- turtle.turnLeft()
- end
- turtle.select(16)
- end
- turtle.drop()
- turtle.up()
- turtle.forward()
- for i = 1,15 do
- turtle.select(i)
- if turtle.dropDown() then
- breaking = false
- break
- end
- succes, data = turtle.inspectDown()
- if turtle.getSelectedSlot() == 15 and data.name ~= "minecraft:lit_furnace" then
- print("No smelting Furnace")
- breaking = true
- else
- breaking = false
- end
- end
- if breaking == true then
- print("checking for smelting product that is left")
- turtle.forward()
- turtle.down()
- turtle.turnLeft()
- turtle.turnLeft()
- succes, data = turtle.inspect()
- if data.name == "minecraft:furnace" then
- turtle.suck()
- else
- while true do
- succes, data = turtle.inspect()
- if data.name == "minecraft:furnace" then
- turtle.suck()
- break
- elseif data.name == "minecraft:furnace" then
- turtle.suck()
- break
- end
- end
- end
- end
- if breaking == false then
- turtle.forward()
- turtle.down()
- turtle.turnLeft()
- turtle.turnLeft()
- smeltTime = 0
- while true do
- smeltTime = smeltTime + 1
- print(smeltTime)
- if smeltTime > 1200 then
- print("smelting time is over")
- break
- end
- succes, data = turtle.inspect()
- turtle.select(14)
- if data.name == "minecraft:furnace" and turtle.suck() then
- break
- elseif data.name == "minecraft:furnace" then
- break
- end
- end
- end
- end
- function smeltProductInChest()
- turtle.up()
- turtle.forward()
- turtle.forward()
- turtle.down()
- turtle.down()
- searchForChest()
- dropToChest()
- for i = 1,16 do
- turtle.select(i)
- if turtle.suck() then
- data = turtle.getItemDetail()
- if data.name ~= "minecraft:coal" then
- turtle.drop()
- else
- turtle.transferTo(16)
- end
- end
- end
- turtle.select(16)
- turtle.drop()
- turtle.select(1)
- turtle.up()
- end
- function ask()
- print("want to get the furnace going?")
- term.write("yes = 1 | no = 0 : ")
- answer = tonumber(read())
- answer = tonumber(answer)
- if answer == 1 then
- print("great, getting started")
- elseif answer == 0 then
- print("no problem, shutting down")
- elseif type(answer) ~= number then
- print("sorry, invalid input")
- ask()
- end
- return answer
- end
- while true do
- ask()
- if answer == 0 then
- break
- end
- searchForChest()
- fillFromChest()
- smelt()
- smeltProductInChest()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement