Advertisement
killakiaba

reactk41new

Apr 18th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. print('Killakiaba ReactorControl Engaged. View Monitor.')
  2.  
  3. emptyflag=0
  4. offlineflag=0
  5. flashflag=0
  6.  
  7. reactor=peripheral.wrap('right')
  8. monitor=peripheral.wrap('left')
  9.  
  10. monitor.setTextScale(1)
  11. monitor.setBackgroundColor(colors.black)
  12.  
  13. while true do
  14. monitor.clear()
  15. monitor.setCursorPos(1,1)
  16. monitor.setTextColor(colors.white)
  17. monitor.write('Fuel Level:')
  18. monitor.setCursorPos(1,2)
  19. monitor.setTextColor(colors.yellow)
  20. monitor.write(math.floor(((reactor.getFuelAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Fuel')
  21. monitor.setCursorPos(1,3)
  22. monitor.setTextColor(colors.lightBlue)
  23. monitor.write(math.floor(((reactor.getWasteAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Waste')
  24. monitor.setCursorPos(1,5)
  25. monitor.setTextColor(colors.white)
  26. monitor.write('Control Rod Levels:')
  27. monitor.setTextColor(colors.green)
  28. monitor.setCursorPos(1,6)
  29. monitor.write('Rod 1: '..(100-(reactor.getControlRodLevel(0)))..'% Depth')
  30. monitor.setCursorPos(1,7)
  31. monitor.write('Rod 2: '..(100-(reactor.getControlRodLevel(1)))..'% Depth')
  32. monitor.setCursorPos(1,8)
  33. monitor.write('Rod 3: '..(100-(reactor.getControlRodLevel(2)))..'% Depth')
  34. monitor.setCursorPos(1,9)
  35. monitor.write('Rod 4: '..(100-(reactor.getControlRodLevel(3)))..'% Depth')
  36. monitor.setCursorPos(1,10)
  37. monitor.write('Rod 5: '..(100-(reactor.getControlRodLevel(4)))..'% Depth')
  38. monitor.setCursorPos(1,11)
  39. monitor.write('Rod 6: '..(100-(reactor.getControlRodLevel(5)))..'% Depth')
  40. monitor.setCursorPos(1,12)
  41. monitor.write('Rod 7: '..(100-(reactor.getControlRodLevel(6)))..'% Depth')
  42. monitor.setCursorPos(1,13)
  43. monitor.write('Rod 8: '..(100-(reactor.getControlRodLevel(7)))..'% Depth')
  44. monitor.setCursorPos(1,14)
  45. monitor.write('Rod 9: '..(100-(reactor.getControlRodLevel(8)))..'% Depth')
  46. monitor.setCursorPos(1,15)
  47. monitor.write('Rod 10: '..(100-(reactor.getControlRodLevel(9)))..'% Depth')
  48. monitor.setCursorPos(1,16)
  49. monitor.write('Rod 11: '..(100-(reactor.getControlRodLevel(10)))..'% Depth')
  50. monitor.setCursorPos(1,17)
  51. monitor.write('Rod 12: '..(100-(reactor.getControlRodLevel(11)))..'% Depth')
  52. monitor.setCursorPos(1,18)
  53. monitor.write('Rod 13: '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
  54. monitor.setCursorPos(1,19)
  55. monitor.write('Rod 14: '..(100-(reactor.getControlRodLevel(13)))..'% Depth')
  56. monitor.setCursorPos(22,6)
  57. monitor.write('Rod 15: '..(100-(reactor.getControlRodLevel(14)))..'% Depth')
  58. monitor.setCursorPos(22,7)
  59. monitor.write('Rod 16: '..(100-(reactor.getControlRodLevel(15)))..'% Depth')
  60. monitor.setCursorPos(22,8)
  61. monitor.write('Rod 17: '..(100-(reactor.getControlRodLevel(16)))..'% Depth')
  62. monitor.setCursorPos(22,9)
  63. monitor.write('Rod 18: '..(100-(reactor.getControlRodLevel(17)))..'% Depth')
  64. monitor.setCursorPos(22,10)
  65. monitor.write('Rod 19: '..(100-(reactor.getControlRodLevel(18)))..'% Depth')
  66. monitor.setCursorPos(22,11)
  67. monitor.write('Rod 20: '..(100-(reactor.getControlRodLevel(19)))..'% Depth')
  68. monitor.setCursorPos(22,12)
  69. monitor.write('Rod 21: '..(100-(reactor.getControlRodLevel(20)))..'% Depth')
  70. monitor.setCursorPos(22,13)
  71. monitor.write('Rod 22: '..(100-(reactor.getControlRodLevel(21)))..'% Depth')
  72. monitor.setCursorPos(22,14)
  73. monitor.write('Rod 23: '..(100-(reactor.getControlRodLevel(22)))..'% Depth')
  74. monitor.setCursorPos(22,15)
  75. monitor.write('Rod 24: '..(100-(reactor.getControlRodLevel(23)))..'% Depth')
  76. monitor.setCursorPos(22,16)
  77. monitor.write('Rod 25: '..(100-(reactor.getControlRodLevel(24)))..'% Depth')
  78. monitor.setCursorPos(22,17)
  79. monitor.write('Rod 26: '..(100-(reactor.getControlRodLevel(25)))..'% Depth')
  80. monitor.setCursorPos(22,18)
  81. monitor.write('Rod 27: '..(100-(reactor.getControlRodLevel(26)))..'% Depth')
  82. monitor.setCursorPos(22,19)
  83. monitor.write('Rod 28: '..(100-(reactor.getControlRodLevel(27)))..'% Depth')
  84. monitor.setCursorPos(43,6)
  85. monitor.write('Rod 29: '..(100-(reactor.getControlRodLevel(28)))..'% Depth')
  86. monitor.setCursorPos(43,7)
  87. monitor.write('Rod 30: '..(100-(reactor.getControlRodLevel(29)))..'% Depth')
  88. monitor.setCursorPos(43,8)
  89. monitor.write('Rod 31: '..(100-(reactor.getControlRodLevel(30)))..'% Depth')
  90. monitor.setCursorPos(43,9)
  91. monitor.write('Rod 32: '..(100-(reactor.getControlRodLevel(31)))..'% Depth')
  92. monitor.setCursorPos(43,10)
  93. monitor.write('Rod 33: '..(100-(reactor.getControlRodLevel(32)))..'% Depth')
  94. monitor.setCursorPos(43,11)
  95. monitor.write('Rod 34: '..(100-(reactor.getControlRodLevel(33)))..'% Depth')
  96. monitor.setCursorPos(43,12)
  97. monitor.write('Rod 35: '..(100-(reactor.getControlRodLevel(34)))..'% Depth')
  98. monitor.setCursorPos(43,13)
  99. monitor.write('Rod 36: '..(100-(reactor.getControlRodLevel(35)))..'% Depth')
  100. monitor.setCursorPos(43,14)
  101. monitor.write('Rod 37: '..(100-(reactor.getControlRodLevel(36)))..'% Depth')
  102. monitor.setCursorPos(43,15)
  103. monitor.write('Rod 38: '..(100-(reactor.getControlRodLevel(37)))..'% Depth')
  104. monitor.setCursorPos(43,16)
  105. monitor.write('Rod 39: '..(100-(reactor.getControlRodLevel(38)))..'% Depth')
  106. monitor.setCursorPos(43,17)
  107. monitor.write('Rod 40: '..(100-(reactor.getControlRodLevel(39)))..'% Depth')
  108. monitor.setCursorPos(43,18)
  109. monitor.write('Rod 41: '..(100-(reactor.getControlRodLevel(40)))..'% Depth')
  110. monitor.setCursorPos(1,22)
  111.  
  112.  
  113. monitor.setTextColor(colors.white)
  114. monitor.write('Temperature:')
  115. monitor.setCursorPos(1,23)
  116. monitor.setTextColor(colors.lightGray)
  117. monitor.write('Casing: ')
  118. if reactor.getCasingTemperature()>=650 then
  119. monitor.setTextColor(colors.purple)
  120. else if reactor.getCasingTemperature()>=950 then
  121. monitor.setTextColor(colors.red)
  122. else
  123. monitor.setTextColor(colors.green)
  124. end
  125. end
  126. monitor.write(reactor.getCasingTemperature()..'C')
  127.  
  128. monitor.setCursorPos(1,23)
  129. monitor.setTextColor(colors.yellow)
  130. monitor.write('Fuel: ')
  131. if reactor.getFuelTemperature()>=650 then
  132. monitor.setTextColor(colors.purple)
  133. else if reactor.getFuelTemperature()>=950 then
  134. monitor.setTextColor(colors.red)
  135. else
  136. monitor.setTextColor(colors.green)
  137. end
  138. end
  139. monitor.write(reactor.getFuelTemperature()..'C')
  140.  
  141. monitor.setCursorPos(1,24)
  142. monitor.setTextColor(colors.white)
  143. monitor.write('Flux:')
  144. monitor.setCursorPos(1,25)
  145. monitor.setTextColor(colors.green)
  146. monitor.write(reactor.getEnergyStored()..' RF Stored ')
  147.  
  148. if reactor.getEnergyProducedLastTick()>=500 and reactor.getEnergyProducedLastTick()<2000 then
  149. monitor.setTextColor(colors.orange)
  150. end
  151.  
  152. if reactor.getEnergyProducedLastTick()>=2000 then
  153. monitor.setTextColor(colors.red)
  154. end
  155. monitor.write((math.floor(reactor.getEnergyProducedLastTick()+0.5))..'RF/t')
  156.  
  157. monitor.setCursorPos(1,26)
  158. monitor.setTextColor(colors.orange)
  159. monitor.write('Warnings:')
  160.  
  161. if flashflag==0 then
  162. flashflag=1
  163. if offlineflag==1 then
  164. monitor.setCursorPos(1,27)
  165. monitor.setTextColor(colors.lightGray)
  166. monitor.write('OFFLINE - Manual Override')
  167. end
  168. if emptyflag==1 then
  169. monitor.setCursorPos(1,28)
  170. monitor.setTextColor(colors.pink)
  171. monitor.write('OFFLINE - Fuel Exhausted')
  172. end
  173. if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)>75 then
  174. monitor.setCursorPos(1,28)
  175. monitor.setTextColor(colors.yellow)
  176. monitor.write('ONLINE - Low Power Mode')
  177. end
  178. if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)<=75 then
  179. monitor.setCursorPos(1,28)
  180. monitor.setTextColor(colors.orange)
  181. monitor.write('ONLINE - High Power Mode')
  182. end
  183. else
  184. flashflag=0
  185. monitor.setCursorPos(1,28)
  186. monitor.clearLine()
  187. end
  188.  
  189. if reactor.getEnergyStored()<=10000000 and reactor.getEnergyStored()>100 then
  190. reactor.setAllControlRodLevels(0+(math.floor(reactor.getEnergyStored()/100000)))
  191. else
  192. reactor.setAllControlRodLevels(0)
  193. end
  194.  
  195. if reactor.getFuelAmount()<=100 and offlineflag==0 then
  196. reactor.setAllControlRodLevels(100)
  197. reactor.setActive(false)
  198. emptyflag=1
  199. else
  200. emptyflag=0
  201. end
  202.  
  203. if rs.getInput('bottom')==false and emptyflag==0 then
  204. reactor.setActive(true)
  205. offlineflag=0
  206. end
  207.  
  208. if rs.getInput('bottom')==true and emptyflag==0 then
  209. reactor.setActive(false)
  210. reactor.setAllControlRodLevels(100)
  211. offlineflag=1
  212. end
  213. sleep(1)
  214. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement