Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -----------------------------
- --Reactor specifications
- -----------------------------
- ReactorMaxTemp = 500
- ReactorMinTemp = 0
- Reactor = component.proxy(component.get("b33f"))
- ReactorTransposer = component.proxy(component.get("ca52"))
- ReactorRedstone = component.proxy(component.get("57eb"))
- Cooling = false
- -----------------------------
- --Reactor Layout
- -----------------------------
- map = {-1,5,5,5,5,5,5,5,-1,
- 3,4,4,4,4,4,4,4,3,
- 3,3,3,3,3,3,3,3,3,
- 3,3,3,3,3,3,3,3,3,
- 3,4,4,4,4,4,4,4,3,
- -1,5,5,5,5,5,5,5,-1}
- -----------------------------
- --Functions
- -----------------------------
- function findChestSlot (transposer, side)
- for slot = 1, 27 do
- if transposer["getSlotStackSize"](side,slot) > 0 then
- return slot
- end
- end
- return -1
- end
- --< Tries to fill a reactor using the given transposer returns -1 upon failure >--
- function fillReactor (transposer)
- for slot= 1, 54 do
- if transposer["getSlotStackSize"](1,slot) == 0 then
- local FullCSlot = findChestSlot(transposer,map[slot])
- if FullCSlot > 0 then
- transposer["transferItem"](map[slot],1,1,FullCSlot,slot)
- else
- return -1
- end
- end
- end
- print("P")
- return 1
- end
- function checkHeat(ReactorC, Redstone)
- Heat = ReactorC["getHeat"]()
- if Heat > ReactorMaxTemp then
- Redstone["setOutput"](3,0)
- Cooling = true
- elseif (Cooling and Heat < ReactorMinTemp) then
- -- Redstone["setOutput"](3,1)
- Cooling = false
- end
- end
- -----------------------------
- --Start of Programm
- -----------------------------
- -->Start Reactor
- --ReactorRedstone["setOutput"](3,1)
- tp = 0
- while(true) do
- print(os.time() - tp)
- tp = os.time()
- checkHeat(Reactor, ReactorRedstone)
- -->Refill reactor
- --[returnCode = fillReactor(ReactorTransposer)
- if(returnCode < 0) then
- ReactorRedstone["setOutput"](3,0)
- end
- --]
- os.sleep(0.25)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement