Advertisement
Guest User

reactor.lua

a guest
Feb 18th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.87 KB | None | 0 0
  1. -----------------------------
  2. --Reactor specifications
  3. -----------------------------
  4. ReactorMaxTemp = 500
  5. ReactorMinTemp = 0
  6.  
  7.  
  8. Reactor           = component.proxy(component.get("b33f"))
  9. ReactorTransposer = component.proxy(component.get("ca52"))
  10. ReactorRedstone   = component.proxy(component.get("57eb"))
  11.  
  12. Cooling = false
  13. -----------------------------
  14. --Reactor Layout
  15. -----------------------------
  16. map = {-1,5,5,5,5,5,5,5,-1,
  17.         3,4,4,4,4,4,4,4,3,
  18.         3,3,3,3,3,3,3,3,3,
  19.         3,3,3,3,3,3,3,3,3,
  20.         3,4,4,4,4,4,4,4,3,
  21.        -1,5,5,5,5,5,5,5,-1}
  22.  
  23.  
  24. -----------------------------
  25. --Functions
  26. -----------------------------
  27. function findChestSlot (transposer, side)
  28.   for slot = 1, 27 do
  29.     if transposer["getSlotStackSize"](side,slot) > 0 then
  30.       return slot
  31.     end
  32.   end
  33.   return -1
  34. end
  35.  
  36. --< Tries to fill a reactor using the given transposer returns -1 upon failure >--
  37. function fillReactor (transposer)
  38.   for slot= 1, 54 do
  39.     if transposer["getSlotStackSize"](1,slot) ==  0 then
  40.       local FullCSlot = findChestSlot(transposer,map[slot])
  41.       if FullCSlot > 0 then
  42.         transposer["transferItem"](map[slot],1,1,FullCSlot,slot)
  43.       else
  44.         return -1
  45.       end
  46.     end  
  47.   end
  48.   print("P")
  49.   return 1
  50. end
  51.  
  52. function checkHeat(ReactorC, Redstone)
  53.   Heat = ReactorC["getHeat"]()
  54.   if Heat > ReactorMaxTemp then
  55.     Redstone["setOutput"](3,0)
  56.     Cooling = true
  57.   elseif (Cooling and Heat < ReactorMinTemp) then
  58.     -- Redstone["setOutput"](3,1)
  59.     Cooling = false
  60.   end
  61. end
  62.  
  63. -----------------------------
  64. --Start of Programm
  65. -----------------------------
  66.  
  67. -->Start Reactor
  68. --ReactorRedstone["setOutput"](3,1)
  69. tp = 0
  70. while(true) do
  71.   print(os.time() - tp)
  72.   tp = os.time()
  73.   checkHeat(Reactor, ReactorRedstone)
  74.  
  75.   -->Refill reactor
  76.   --[returnCode = fillReactor(ReactorTransposer)
  77.   if(returnCode < 0) then
  78.     ReactorRedstone["setOutput"](3,0)
  79.   end
  80.   --]
  81.   os.sleep(0.25)
  82. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement