Advertisement
MagmaLP

gafkd

Dec 6th, 2023 (edited)
1,160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.83 KB | None | 0 0
  1. BundledCableSide1 = "left"
  2. BundledCableSide2 = "top"
  3. SensorSide = "right"
  4. sle = 0.5
  5. -------------------------------------------------------------
  6. function ResetChest()   --Kiste Leeren
  7.     redstone.setBundledOutput(BundledCableSide1,colors.combine(redstone.getBundledOutput(BundledCableSide1), colors.white))
  8.     sleep(sle)
  9.     redstone.setBundledOutput(BundledCableSide1,colors.subtract(redstone.getBundledOutput(BundledCableSide2), colors.white))
  10.     sleep(sle)
  11. end
  12. -------------------------------------------------------------
  13. function RequestPage1() -- Strom Chest
  14.     redstone.setBundledOutput(BundledCableSide2,colors.combine(redstone.getBundledOutput(BundledCableSide2), colors.lime))
  15.     sleep(sle)
  16.     redstone.setBundledOutput(BundledCableSide2,colors.subtract(redstone.getBundledOutput(BundledCableSide2), colors.lime))
  17. end
  18.  
  19. function RequestPage2() -- Strom Chest
  20.     redstone.setBundledOutput(BundledCableSide2,colors.combine(redstone.getBundledOutput(BundledCableSide2), colors.red))
  21.     sleep(sle)
  22.     redstone.setBundledOutput(BundledCableSide2,colors.subtract(redstone.getBundledOutput(BundledCableSide2), colors.red))
  23. end
  24.  
  25. function RequestPage3() -- Strom Chest
  26.     redstone.setBundledOutput(BundledCableSide2,colors.combine(redstone.getBundledOutput(BundledCableSide2), colors.yellow))
  27.     sleep(sle)
  28.     redstone.setBundledOutput(BundledCableSide2,colors.subtract(redstone.getBundledOutput(BundledCableSide2), colors.yellow))
  29. end
  30.  
  31. function RequestPage4() --Bau Chest
  32.     redstone.setBundledOutput(BundledCableSide2,colors.combine(redstone.getBundledOutput(BundledCableSide2), colors.blue))
  33.     sleep(sle)
  34.     redstone.setBundledOutput(BundledCableSide2,colors.subtract(redstone.getBundledOutput(BundledCableSide2), colors.blue))
  35. end
  36.  
  37. function CancelReset()          --Cancel Automatic Chest-Reset
  38.     file = fs.open("local", "w")
  39.     file.write("1")
  40.     file.close()
  41. end
  42.  
  43. function ActivateReset()            --Activate Automatic Chest-Reset
  44.     file = fs.open("local", "w")
  45.     file.write("0")
  46.     file.close()
  47. end
  48.  
  49. ------------------------Program Start------------------------
  50. os.loadAPI("ocs/apis/sensor")
  51. sen = sensor.wrap(SensorSide)
  52. Counter = 0
  53.  
  54. file = fs.open("local" , "r")   --read Reset
  55. reset = file.readLine()
  56. file.close()
  57.  
  58. while true do
  59.     s = sen.getTargets()
  60.     function getS()
  61.         for v, k  in pairs(s) do
  62.             if k.Name == "ME Wireless Access Point" then  
  63.                 target = v
  64.             end
  65.         end
  66.         return target
  67.     end
  68.  
  69.     f = getS()
  70.     s1 = sen.getTargetDetails(target)
  71.    
  72.     local Page1, Page2, Page3, Page4, Page5, Page6, Page7, Page8, Page9 = 0, 0, 0, 0, 0, 0, 0, 0, 0
  73.  
  74.     for _, item in pairs(s1.Items) do
  75.         if item.Name == "ME Wireless Access Terminal" then
  76.             Page1 = item.Size -- Werte ermittels und setzen
  77.         end
  78.         if item.Name == "Advanced Solar Panel" then
  79.             Page2 = item.Size -- Werte ermittels und setzen
  80.         end
  81.         if item.Name == "Remote Orderer" then
  82.             Page3 = item.Size -- Werte ermittels und setzen
  83.         end
  84.         if item.Name == "Cobblestone" then
  85.             Page4 = item.Size -- Werte ermittels und setzen
  86.         end
  87.         if item.Name == "tile.machineBlock" then
  88.             Page5 = item.Size -- Werte ermittels und setzen
  89.         end
  90.         if item.Name == "item.PipeItemsDiamond" then
  91.             Page6 = item.Size -- Werte ermittels und setzen
  92.         end
  93.         if item.Name == "Electric Furnace" then
  94.             Page7 = item.Size -- Werte ermittels und setzen
  95.         end
  96.         if item.Name == "Clay Dust" then
  97.             Page8 = item.Size -- Werte ermittels und setzen
  98.         end
  99.         if item.Name == "Wooden Axe" then
  100.             Page9 = item.Size -- Werte ermittels und setzen
  101.         end
  102.     end
  103.    
  104.     term.setCursorPos(1,1)
  105.     term.clear()
  106.     print("1: "..Page1)
  107.     print("2: "..Page2)
  108.     print("3: "..Page3)
  109.     print("4: "..Page4)
  110.     print("5: "..Page5)
  111.     print("6: "..Page6)
  112.     print("7: "..Page7)
  113.     print("8: "..Page8)
  114.     print("9: "..Page9)
  115.     print(" ")
  116.     print("Counter: " .. Counter)
  117.  
  118.     if Page1 < 1 then               --ME-System
  119.         ResetChest()
  120.         RequestPage1()
  121.         ActivateReset()
  122.         os.reboot()
  123.     elseif Page2 < 1 then           --Solar
  124.         ResetChest()
  125.         RequestPage2()
  126.         ActivateReset()
  127.         os.reboot()
  128.     elseif Page3 < 1 then           --Computer
  129.         ResetChest()
  130.         RequestPage3()
  131.         ActivateReset()
  132.         os.reboot()
  133.     elseif Page4 < 1 then           --Baumaterial
  134.         ResetChest()
  135.         RequestPage4()
  136.         ActivateReset()
  137.         os.reboot()
  138.     else
  139.         Counter = Counter + 1
  140.     end
  141.  
  142.     if Counter == 40 then
  143.         if reset == "0" then
  144.             ResetChest()
  145.             CancelReset()
  146.             os.reboot()
  147.         end
  148.         os.reboot()
  149.     end
  150.     sleep(0.25)
  151. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement