Advertisement
Guest User

smelter

a guest
Jul 17th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.57 KB | None | 0 0
  1. currentSlot =  turtle.getSelectedSlot()
  2.  
  3. function refuelOnce()
  4.   if turtle.getFuelLevel() < 20 then
  5.     turtle.select(16)
  6.     turtle.refuel(1)
  7.     turtle.select(currentSlot)
  8.  end
  9. end
  10.  
  11. function searchForChest()
  12.   for search = 1,4 do
  13.     succes, data = turtle.inspect()
  14.      if data.name ~= "minecraft:chest" then
  15.       turtle.turnLeft()
  16.    end
  17.   end    
  18. end
  19.  
  20. function fillFromChest()
  21.   for i = 1,14 do
  22.     turtle.select(i)
  23.    turtle.suck()
  24.  end
  25.  putCoalToSlot16()
  26. end
  27.  
  28. function dropToChest()
  29.  
  30.   if turtle.getSelectedSlot() == 16 then
  31.     turtle.drop()
  32.   else
  33.     turtle.select(14)
  34.     turtle.drop()
  35.   end
  36. end
  37.  
  38.  
  39. function putCoalToSlot16 ()
  40.   for i = 1,15 do
  41.     turtle.select(i)
  42.     data = turtle.getItemDetail()
  43.      
  44.       if turtle.getItemCount() > 0 and data.name == "minecraft:coal" then
  45.         turtle.transferTo(16)
  46.      end
  47.     end
  48.     refuelOnce()
  49.  end
  50.  
  51. function smelt()
  52. print("Moving up to furnace")
  53.   for searchOven = 1,4 do
  54.     succes, data = turtle.inspect()
  55.       if data.name ~= "minecraft:furnace" and data.name ~= "minecraft:lit_furnace" then
  56.         turtle.turnLeft()
  57.      end
  58.     turtle.select(16)
  59.   end
  60.  
  61. turtle.drop()
  62. turtle.up()
  63. turtle.forward()
  64.  
  65.   for i =  1,15 do
  66.     turtle.select(i)  
  67.       if turtle.dropDown() then
  68.       breaking = false
  69.         break
  70.     end
  71.    
  72.     succes, data = turtle.inspectDown()
  73.     if turtle.getSelectedSlot() == 15 and data.name ~= "minecraft:lit_furnace" then
  74.       print("No smelting Furnace")
  75.       breaking = true
  76.     else
  77.     breaking = false        
  78.  end
  79. end
  80.  
  81. if breaking == true then
  82. print("checking for smelting product that is left")
  83. turtle.forward()
  84. turtle.down()
  85. turtle.turnLeft()
  86. turtle.turnLeft()
  87. succes, data = turtle.inspect()
  88.   if data.name == "minecraft:furnace" then
  89.     turtle.suck()
  90.   else
  91.     while true do
  92.     succes, data = turtle.inspect()
  93.     if data.name == "minecraft:furnace" then
  94.       turtle.suck()
  95.       break
  96.     elseif data.name == "minecraft:furnace" then
  97.     turtle.suck()
  98.     break
  99.     end
  100.   end
  101. end
  102.  
  103. end
  104. if breaking  == false then  
  105. turtle.forward()
  106. turtle.down()
  107. turtle.turnLeft()
  108. turtle.turnLeft()
  109. smeltTime = 0
  110.  
  111.  
  112.   while true do
  113.     smeltTime = smeltTime + 1
  114.     print(smeltTime)
  115.  
  116.       if smeltTime > 1200 then
  117.         print("smelting time is over")
  118.         break
  119.       end
  120.  
  121.     succes, data = turtle.inspect()
  122.     turtle.select(14)
  123.       if data.name == "minecraft:furnace" and turtle.suck() then
  124.          break
  125.       elseif data.name == "minecraft:furnace" then
  126.       break
  127.        end
  128.     end
  129.    end
  130. end
  131.    
  132.    
  133. function smeltProductInChest()
  134.  
  135. turtle.up()
  136. turtle.forward()
  137. turtle.forward()
  138. turtle.down()
  139. turtle.down()
  140. searchForChest()
  141. dropToChest()
  142.  
  143.   for i = 1,16 do
  144.     turtle.select(i)
  145.     if turtle.suck() then
  146.       data = turtle.getItemDetail()
  147.       if data.name ~= "minecraft:coal" then
  148.         turtle.drop()
  149.       else
  150.          turtle.transferTo(16)
  151.        end
  152.       end
  153.      end
  154.  
  155. turtle.select(16)
  156. turtle.drop()
  157. turtle.select(1)
  158. turtle.up()
  159.  
  160. end
  161.  
  162. function ask()
  163. print("want to get the furnace going?")
  164. term.write("yes = 1 | no = 0 : ")
  165. answer = tonumber(read())
  166. answer = tonumber(answer)
  167. if answer == 1 then
  168.   print("great, getting started")
  169.  
  170.  
  171. elseif answer == 0 then
  172.   print("no problem, shutting down")
  173.  
  174. elseif type(answer) ~= number then
  175.   print("sorry, invalid input")
  176.   ask()  
  177. end
  178.  
  179.   return answer
  180. end
  181.  
  182. while true do
  183. ask()
  184. if answer == 0 then
  185.   break
  186.  end
  187. searchForChest()
  188. fillFromChest()
  189. smelt()
  190. smeltProductInChest()
  191. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement