drProfessorGTA

BetonV1

Oct 11th, 2020 (edited)
1,389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 15.51 KB | None | 0 0
  1. function clear(wait)
  2. os.sleep(wait)
  3. term.setBackgroundColor(colours.black)
  4. term.clear()
  5. term.setCursorPos(1,1)
  6. end
  7.  
  8. clear(0.1)
  9. print("Programm 'Beton' gestartet...")
  10. print("Version 1.0")
  11. print("|          |")
  12. clear(0.5)
  13. print("Programm 'Beton' gestartet...")
  14. print("Version 1.0")
  15. print("|-         |")
  16. clear(0.5)
  17. print("Programm 'Beton' gestartet...")
  18. print("Version 1.0")
  19. print("|--        |")
  20. clear(0.5)
  21. print("Programm 'Beton' gestartet...")
  22. print("Version 1.0")
  23. print("|---       |")
  24. clear(0.5)
  25. print("Programm 'Beton' gestartet...")
  26. print("Version 1.0")
  27. print("|----      |")
  28. clear(0.5)
  29. print("Programm 'Beton' gestartet...")
  30. print("Version 1.0")
  31. print("|-----     |")
  32. clear(0.5)
  33. print("Programm 'Beton' gestartet...")
  34. print("Version 1.0")
  35. print("|------    |")
  36. clear(0.5)
  37. print("Programm 'Beton' gestartet...")
  38. print("Version 1.0")
  39. print("|-------   |")
  40. clear(0.5)
  41. print("Programm 'Beton' gestartet...")
  42. print("Version 1.0")
  43. print("|--------  |")
  44. clear(0.5)
  45. print("Programm 'Beton' gestartet...")
  46. print("Version 1.0")
  47. print("|--------- |")
  48. clear(0.5)
  49. print("Programm 'Beton' gestartet...")
  50. print("Version 1.0")
  51. print("|----------|")
  52. clear(0.5)
  53.  
  54. local FuelBagger = turtle.getFuelLevel()
  55.  
  56. print("Fuellstand Turtle: ",FuelBagger)
  57. if turtle.getFuelLevel() ~= "unlimited" and turtle.getFuelLevel() < 1 then
  58.     for t=1,16 do
  59.         local data = turtle.getItemDetail()
  60.  
  61.         if data then
  62.           if data.name=="minecraft:coal" or data.name=="ic2:coke" then
  63.             turtle.refuel()
  64.             print("Treibstoff erkannt! Turtle betankt!")
  65.             local FuelBagger = turtle.getFuelLevel()
  66.             print("Fuellstand Turtle: ",FuelBagger)
  67.             break
  68.           end
  69.         end
  70.        
  71.         turtle.select(t)  
  72.         if t==16 then
  73.             print("Treibstoff nicht erkannt! Benoetigt Kohle!")
  74.             return
  75.         end
  76.     end
  77. end
  78.  
  79. clear(3.0)
  80.  
  81.  
  82. write("Soll eine Kiste fuer Materialien(Sand/Kies/Farbe/Beton) (4 Kisten notwendig) verwendet werden? (yes/no): ")
  83. kiste = io.read()
  84. clear(1.0)
  85. if kiste=="yes" then
  86.     print("Platzieren Sie drei Kisten(Materialien) übereinander hinter der Turtle!")
  87.     clear(5.0)
  88.     print("Platzieren Sie eine Kiste(Beton) links neben der Turtle!")
  89.     clear(5.0)
  90.     print("Platzieren Sie eine Automatische Werkbank rechts neben der Turtle!")
  91.     clear(5.0)
  92. end
  93. print("Turtle gestartet!")
  94. clear(3.0)
  95. print("Legen Sie einen Wassereimer(voll) in die untere rechte Ecke des Inventars!")
  96. clear(5.0)
  97.  
  98.  
  99. inventar=0
  100. t=0
  101. while t < 16 or inventar==16 do
  102.     t=t+1
  103.     turtle.select(t)
  104.     local data = turtle.getItemDetail()
  105.     if data then
  106.         inventar=inventar+1
  107.     end
  108.     if inventar==16 then
  109.         print("Inventar voll! Bitte Inventar entleeren!")
  110.         inventar=0
  111.         t=0
  112.     end
  113. end
  114.  
  115.  
  116. clear(0.3)
  117. print("Turtle Betonherstellung gestartet!")
  118. clear(0.3)
  119.  
  120. ruckfahrt=0
  121. binruck=0
  122. turtle.up()
  123. turtle.forward()
  124.  
  125. while true do
  126.  
  127.     clear(0.1)
  128.     inventarvoll=0
  129.     trbt=false
  130.     trbti=true
  131.     while turtle.detectDown()==false and trbti==true do
  132.         t=0
  133.         while t < 16 or inventar==16 do
  134.             t=t+1
  135.             if t>0 and t<17 then
  136.                 turtle.select(t)
  137.             end
  138.             local data = turtle.getItemDetail()
  139.             if data then
  140.                 if data.name=="minecraft:concrete_powder" then
  141.                     trbt=true
  142.                     break
  143.                 end
  144.             end                    
  145.         end
  146.         if t==16 then
  147.             trbti=false
  148.         end
  149.        
  150.         if trbt==true then
  151.             turtle.placeDown()
  152.         end
  153.         os.sleep(0.2)
  154.     end
  155.  
  156.     turtle.up()
  157.  
  158.  
  159.     boolwater=false
  160.     while boolwater==false do
  161.         turtle.select(16)  
  162.         local data = turtle.getItemDetail()
  163.         if data then
  164.             if data.name=="minecraft:water_bucket" then
  165.                 turtle.placeDown()
  166.                 os.sleep(0.1)
  167.                 turtle.placeDown()
  168.                 boolwater=true
  169.                 break
  170.             else
  171.                 print("Kein Wasser! Bitte Wassereimer nachfüllen!")
  172.             end
  173.         end
  174.     end
  175.  
  176.  
  177.     turtle.down()
  178.  
  179.  
  180.     while turtle.detectDown()==true do
  181.         turtle.select(4)
  182.         item = turtle.getItemCount(4)
  183.         if item == 64 then
  184.             turtle.select(8)
  185.         end
  186.         item = turtle.getItemCount(8)
  187.         if item == 64 then
  188.             turtle.select(12)
  189.         end
  190.         item = turtle.getItemCount(12)
  191.         if item == 64 then
  192.             inventarvoll=1
  193.             break
  194.         end
  195.         turtle.digDown()
  196.         os.sleep(0.2)
  197.     end
  198.  
  199.  
  200.     if kiste=="yes" and inventarvoll==1 then
  201.         turtle.back()
  202.         turtle.down()
  203.         turtle.turnLeft()
  204.         local success, data = turtle.inspect()
  205.         if success then
  206.             if data.name=="minecraft:chest" or data.name=="ironchest:iron_chest" then
  207.                 turtle.select(4)
  208.                 DropTrue = turtle.drop()
  209.                 turtle.select(8)
  210.                 DropTrue = turtle.drop()
  211.                 turtle.select(12)
  212.                 DropTrue = turtle.drop()
  213.                 if DropTrue == false then
  214.                     print("Kiste voll! Bitte Kiste entleeren!")
  215.                 end
  216.             else
  217.                 print("Turtle findet keine Kiste zum leeren des Inventars!")
  218.             end
  219.         else
  220.             print("Turtle findet keine Kiste zum leeren des Inventars!")
  221.         end
  222.         turtle.turnRight()
  223.         turtle.up()
  224.         turtle.forward()
  225.     end
  226.  
  227.     if kiste~="yes" and inventarvoll==1 then
  228.         print("Inventar voll! Bitte Inventar entleeren! (Beton)")
  229.     end
  230.  
  231.    
  232.     while turtle.getFuelLevel() ~= "unlimited" and turtle.getFuelLevel() < 10 do
  233.         for t=1,16 do
  234.             local data = turtle.getItemDetail()
  235.  
  236.             if data then
  237.               if data.name=="minecraft:coal" or data.name=="ic2:coke" then
  238.                 turtle.refuel()
  239.                 print("Treibstoff erkannt! Turtle betankt!")
  240.                 local FuelBagger = turtle.getFuelLevel()
  241.                 print("Fuellstand Turtle: ",FuelBagger)
  242.                 break
  243.               end
  244.             end
  245.            
  246.             turtle.select(t)  
  247.             if t==16 then
  248.                 print("Kein Treibstoff! Bitte nachfüllen!")
  249.                 break
  250.             end
  251.         end
  252.     end
  253.    
  254.  
  255.     inventar=0
  256.     t=0
  257.     kisteleer1=0
  258.     kisteleer2=0
  259.     kisteleer3=0
  260.     while t < 16 or inventar==16 do
  261.         t=t+1
  262.         if t>0 and t<17 then
  263.             turtle.select(t)
  264.         end
  265.         local data = turtle.getItemDetail()
  266.         if data then
  267.             if data.name=="minecraft:concrete_powder" then
  268.                 break
  269.             else
  270.                 inventar=inventar+1
  271.             end
  272.         else
  273.             inventar=inventar+1
  274.         end
  275.         if inventar==16 then
  276.             print("Material fehlt: Trockenbeton")
  277.             kisteleer=0
  278.            
  279.             if ruckfahrt==0 then
  280.                 turtle.back()
  281.                 turtle.down()
  282.                
  283.                 ruckfahrt=1
  284.                 binruck=1
  285.             end
  286.             if kiste=="yes" and binruck==1 then
  287.                 turtle.turnRight()
  288.                 turtle.select(14)
  289.                 turtle.suck()
  290.                 turtle.select(15)
  291.                 turtle.suck()
  292.                 turtle.turnRight()
  293.                 local success, data = turtle.inspect()
  294.                 if success then
  295.                     if data.name=="minecraft:chest" or data.name=="ironchest:iron_chest" then
  296.                         if kisteleer1~=3 then
  297.                             turtle.select(2)
  298.                             DropTrue1 = turtle.suck()
  299.                             item = turtle.getItemCount(2)
  300.                             if item~=0 then DropTrue1=true end
  301.                             turtle.select(3)
  302.                             DropTrue2 = turtle.suck()
  303.                             item = turtle.getItemCount(3)
  304.                             if item~=0 then DropTrue2=true end
  305.                             turtle.select(5)
  306.                             DropTrue3 = turtle.suck()
  307.                             item = turtle.getItemCount(5)
  308.                             if item~=0 then DropTrue3=true end
  309.                             turtle.select(6)
  310.                             DropTrue4 = turtle.suck()
  311.                             item = turtle.getItemCount(6)
  312.                             if item~=0 then DropTrue4=true end
  313.                            
  314.                             kisteleer=0
  315.                             if DropTrue1 == false then
  316.                                 print("Kiste leer! Bitte Kiste fuellen! SAND")
  317.                                 kisteleer=1
  318.                             else
  319.                                 kisteleer1=3
  320.                             end
  321.                             if DropTrue4 == false and DropTrue1 == true then
  322.                                 item1 = turtle.getItemCount(2)
  323.                                 item2 = turtle.getItemCount(3)
  324.                                 item3 = turtle.getItemCount(5)
  325.                                 item4 = turtle.getItemCount(6)
  326.                                 item = item1+item2+item3+item4
  327.                                 itemPS = item/4
  328.                                 if itemPS < item1 then
  329.                                     itemWeg = item1-itemPS
  330.                                     turtle.select(2)
  331.                                     turtle.transferTo(13 , itemWeg)
  332.                                 end
  333.                                 if itemPS < item2 then
  334.                                     itemWeg = item1-itemPS
  335.                                     turtle.select(3)
  336.                                     turtle.transferTo(13 , itemWeg)
  337.                                 end
  338.                                 if itemPS < item3 then
  339.                                     itemWeg = item1-itemPS
  340.                                     turtle.select(5)
  341.                                     turtle.transferTo(13 , itemWeg)
  342.                                 end
  343.                                 if itemPS < item4 then
  344.                                     itemWeg = item1-itemPS
  345.                                     turtle.select(6)
  346.                                     turtle.transferTo(13 , itemWeg)
  347.                                 end
  348.                                
  349.                                 if itemPS > item1 then
  350.                                     itemWeg = itemPS-item1
  351.                                     turtle.select(13)
  352.                                     turtle.transferTo(2 , itemWeg)
  353.                                 end
  354.                                 if itemPS > item2 then
  355.                                     itemWeg = itemPS-item2
  356.                                     turtle.select(13)
  357.                                     turtle.transferTo(3 , itemWeg)
  358.                                 end
  359.                                 if itemPS > item3 then
  360.                                     itemWeg = itemPS-item3
  361.                                     turtle.select(13)
  362.                                     turtle.transferTo(5 , itemWeg)
  363.                                 end
  364.                                 if itemPS > item4 then
  365.                                     itemWeg = itemPS-item4
  366.                                     turtle.select(13)
  367.                                     turtle.transferTo(6 , itemWeg)
  368.                                 end
  369.                             end
  370.                         else
  371.                             print("Turtle findet keine Kiste zum fuellen des Inventars!")
  372.                         end
  373.                     end
  374.                 end
  375.                 if kisteleer1==3 then DropTrue1=true DropTrue4=true end
  376.                 if DropTrue1 == true and DropTrue4 == true and kisteleer==0 and kisteleer2~=3 then
  377.                     if kisteleer2==0 then
  378.                         turtle.up()
  379.                     end
  380.                     local success, data = turtle.inspect()
  381.                     if success then
  382.                         if data.name=="minecraft:chest" or data.name=="ironchest:iron_chest" then
  383.                             turtle.select(7)
  384.                             DropTrue1 = turtle.suck()
  385.                             item = turtle.getItemCount(7)
  386.                         if item~=0 then DropTrue1=true end
  387.                             turtle.select(9)
  388.                             DropTrue2 = turtle.suck()
  389.                             item = turtle.getItemCount(9)
  390.                         if item~=0 then DropTrue2=true end
  391.                             turtle.select(10)
  392.                             DropTrue3 = turtle.suck()
  393.                             item = turtle.getItemCount(10)
  394.                         if item~=0 then DropTrue3=true end
  395.                             turtle.select(11)
  396.                             DropTrue4 = turtle.suck()
  397.                             item = turtle.getItemCount(11)
  398.                         if item~=0 then DropTrue4=true end
  399.                        
  400.                             kisteleer=0
  401.                             if DropTrue1 == false then
  402.                                 print("Kiste leer! Bitte Kiste fuellen! KIES")
  403.                                 kisteleer=1
  404.                                 kisteleer2=1
  405.                             else
  406.                                 kisteleer2=3
  407.                             end
  408.                             if DropTrue4 == false and DropTrue1 == true then
  409.                                 item1 = turtle.getItemCount(7)
  410.                                 item2 = turtle.getItemCount(9)
  411.                                 item3 = turtle.getItemCount(10)
  412.                                 item4 = turtle.getItemCount(11)
  413.                                 item = item1+item2+item3+item4
  414.                                 itemPS = item/4
  415.                                 if itemPS < item1 then
  416.                                     itemWeg = item1-itemPS
  417.                                     turtle.select(7)
  418.                                     turtle.transferTo(13 , itemWeg)
  419.                                 end
  420.                                 if itemPS < item2 then
  421.                                     itemWeg = item1-itemPS
  422.                                     turtle.select(9)
  423.                                     turtle.transferTo(13 , itemWeg)
  424.                                 end
  425.                                 if itemPS < item3 then
  426.                                     itemWeg = item1-itemPS
  427.                                     turtle.select(10)
  428.                                     turtle.transferTo(13 , itemWeg)
  429.                                 end
  430.                                 if itemPS < item4 then
  431.                                     itemWeg = item1-itemPS
  432.                                     turtle.select(11)
  433.                                     turtle.transferTo(13 , itemWeg)
  434.                                 end
  435.                                
  436.                                 if itemPS > item1 then
  437.                                     itemWeg = itemPS-item1
  438.                                     turtle.select(13)
  439.                                     turtle.transferTo(7 , itemWeg)
  440.                                 end
  441.                                 if itemPS > item2 then
  442.                                     itemWeg = itemPS-item2
  443.                                     turtle.select(13)
  444.                                     turtle.transferTo(9 , itemWeg)
  445.                                 end
  446.                                 if itemPS > item3 then
  447.                                     itemWeg = itemPS-item3
  448.                                     turtle.select(13)
  449.                                     turtle.transferTo(10 , itemWeg)
  450.                                 end
  451.                                 if itemPS > item4 then
  452.                                     itemWeg = itemPS-item4
  453.                                     turtle.select(13)
  454.                                     turtle.transferTo(11 , itemWeg)
  455.                                 end
  456.                             end
  457.                         else
  458.                             print("Turtle findet keine Kiste zum fuellen des Inventars!")
  459.                         end
  460.                     end
  461.                 end
  462.                 if kisteleer2==3 then DropTrue1=true DropTrue4=true end
  463.                 if DropTrue1 == true and DropTrue4 == true and kisteleer==0 and kisteleer3~=3 then
  464.                     if kisteleer3==0 then
  465.                         turtle.up()
  466.                     end
  467.                     local success, data = turtle.inspect()
  468.                     if success then
  469.                         if data.name=="minecraft:chest" or data.name=="ironchest:iron_chest" then
  470.                             turtle.select(1)
  471.                             DropTrue1 = turtle.suck()
  472.                             item = turtle.getItemCount(1)
  473.                             if item~=0 then DropTrue1=true end
  474.                             kisteleer=0
  475.                             if DropTrue1 == false then
  476.                                 print("Kiste leer! Bitte Kiste fuellen! FARBE")
  477.                                 kisteleer=1
  478.                                 kisteleer3=1
  479.                             else
  480.                                 kisteleer3=3
  481.                             end
  482.                         else
  483.                             print("Turtle findet keine Kiste zum fuellen des Inventars!")
  484.                         end
  485.                     end
  486.                 end
  487.                 if kisteleer1==3 and kisteleer2==3 and kisteleer3==3 then
  488.                     turtle.down()
  489.                     turtle.down()
  490.                 end
  491.                
  492.                 if kisteleer3==3 then DropTrue1=true end
  493.                 if DropTrue1 == true then
  494.                     item1 = turtle.getItemCount(1)
  495.                     item2 = turtle.getItemCount(2)
  496.                     item3 = turtle.getItemCount(7)
  497.                    
  498.                     itemC = item1
  499.                     if itemC > item2 then
  500.                         itemC = item2
  501.                     end
  502.                     if itemC > item3 then
  503.                         itemC = item3
  504.                     end
  505.                    
  506.                     turtle.select(1)
  507.                     turtle.craft(itemC)
  508.                    
  509.                     itemC=itemC*8
  510.                    
  511.                     turtle.turnLeft()
  512.                    
  513.                     turtle.select(1)
  514.                     turtle.drop()
  515.                     turtle.select(2)
  516.                     turtle.drop()
  517.                     turtle.select(3)
  518.                     turtle.drop()
  519.                     turtle.select(5)
  520.                     turtle.drop()
  521.                     turtle.select(6)
  522.                     turtle.drop()
  523.                     turtle.select(7)
  524.                     turtle.drop()
  525.                     turtle.select(9)
  526.                     turtle.drop()
  527.                     turtle.select(10)
  528.                     turtle.drop()
  529.                     turtle.select(11)
  530.                     turtle.drop()
  531.                    
  532.                    
  533.                     turtle.turnLeft()
  534.                     turtle.turnLeft()
  535.                    
  536.                     local success, data = turtle.inspect()
  537.                     if success then
  538.                         if data.name=="minecraft:chest" or data.name=="ironchest:iron_chest" then
  539.                             for t=1,15 do
  540.                                 turtle.select(t)
  541.                                 local data = turtle.getItemDetail()
  542.                                 if data then
  543.                                     if data.name=="minecraft:concrete" then
  544.                                         turtle.drop()
  545.                                     else
  546.                                         transbool = turtle.transferTo(1 ,turtle.getItemCount(t))
  547.                                         if transbool==false then
  548.                                             transbool = turtle.transferTo(2 ,turtle.getItemCount(t))
  549.                                         end
  550.                                         if transbool==false then
  551.                                             transbool = turtle.transferTo(3 ,turtle.getItemCount(t))
  552.                                         end
  553.                                     end
  554.                                 end
  555.                             end
  556.                         end
  557.                     end
  558.                    
  559.                     turtle.turnLeft()
  560.                     turtle.turnLeft()
  561.                    
  562.                     turtle.select(1)
  563.                     turtle.drop()
  564.                     turtle.select(2)
  565.                     turtle.drop()
  566.                     turtle.select(3)
  567.                     turtle.drop()
  568.                    
  569.                     turtle.turnLeft()
  570.                     turtle.turnLeft()
  571.                    
  572.                     turtle.select(1)
  573.                     turtle.drop()
  574.                     turtle.select(2)
  575.                     turtle.drop()
  576.                     turtle.select(3)
  577.                     turtle.drop()
  578.                    
  579.                     turtle.turnLeft()
  580.                     turtle.turnLeft()
  581.                    
  582.                    
  583.                     os.sleep(3.0)
  584.                    
  585.                     habe=0
  586.                     zeit=0
  587.                     while habe==0 do
  588.                         zeit=zeit+1
  589.                         turtle.select(1)
  590.                         turtle.suck()
  591.                         turtle.select(2)
  592.                         turtle.suck()
  593.                         turtle.select(3)
  594.                         turtle.suck()
  595.                         turtle.select(5)
  596.                         turtle.suck()
  597.                         turtle.select(6)
  598.                         turtle.suck()
  599.                         turtle.select(7)
  600.                         turtle.suck()
  601.                         turtle.select(9)
  602.                         turtle.suck()
  603.                         turtle.select(10)
  604.                         turtle.suck()
  605.                         turtle.select(11)
  606.                         turtle.suck()
  607.                        
  608.                         item1 = turtle.getItemCount(1)
  609.                         item2 = turtle.getItemCount(2)
  610.                         item3 = turtle.getItemCount(3)
  611.                         item4 = turtle.getItemCount(5)
  612.                         item5 = turtle.getItemCount(6)
  613.                         item6 = turtle.getItemCount(7)
  614.                         item7 = turtle.getItemCount(9)
  615.                         item8 = turtle.getItemCount(10)
  616.                         item9 = turtle.getItemCount(11)
  617.                        
  618.                         item = item1+item2+item3+item4+item5+item6+item7+item8+item9
  619.                         if item==itemC or item>itemC or zeit>600 then
  620.                             habe=1
  621.                         end
  622.                     end
  623.                    
  624.                     turtle.turnRight()
  625.                 end
  626.                
  627.                 turtle.turnRight()
  628.                 turtle.turnRight()
  629.             end
  630.            
  631.             inventar=0
  632.             t=0
  633.         end
  634.     end
  635.  
  636.     while binruck==1 do
  637.         if binruck==1 then
  638.            
  639.             turtle.up()
  640.             turtle.forward()
  641.            
  642.             ruckfahrt=0
  643.             binruck=0
  644.         end
  645.     end
  646.  
  647.  
  648. end
  649.  
  650.  
  651.  
  652.  
  653.  
  654. turtle.back()
  655. turtle.down()
  656.  
  657. clear(3.0)
  658. print("Turtle Betonherstellung beendet!")
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
Advertisement
Add Comment
Please, Sign In to add comment