Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. --https://github.com/erogenousbeef/BigReactors/blob/fdb050fb9cff0f7f8b79cabc08b157122832a90f/src/main/java/erogenousbeef/bigreactors/common/multiblock/tileentity/TileEntityTurbineComputerPort.java
  2.  
  3. turbine_index = 0
  4.  
  5. max_speed = 2100
  6. target_speed = 1800
  7. speed_band = 50
  8.  
  9. term.clear()
  10. term.setCursorPos(1,1)
  11.  
  12. turbine = peripheral.wrap("back")
  13.  
  14. rednet.open("top")
  15. turbine_controller_id = rednet.lookup("turbine_control", "turbine_control")
  16. print("Turbine controller at: " .. (turbine_controller_id or "nil"));
  17.  
  18. engaged = false
  19. active = false
  20.  
  21. function setInductor(state)
  22. engaged = state
  23. turbine.setInductorEngaged(state)
  24. end
  25. setInductor(false)
  26.  
  27. function setActive(state)
  28. active = state
  29. turbine.setActive(state)
  30. end
  31. setActive(false)
  32.  
  33. while true do
  34. speed = turbine.getRotorSpeed(speed)
  35.  
  36. if not active then
  37. if speed < target_speed then
  38. setActive(true)
  39. end
  40. else
  41.  
  42. if speed > max_speed then
  43. setActive(false)
  44. end
  45.  
  46. if engaged then
  47. if speed < target_speed - speed_band then
  48. setInductor(false)
  49. end
  50. else
  51. if speed > target_speed + speed_band then
  52. setInductor(true)
  53. end
  54. end
  55. end
  56.  
  57. -- send status update
  58. if turbine_controller_id then
  59. rednet.send(turbine_controller_id, {
  60. id = turbine_index,
  61. active = active,
  62. engaged = engaged,
  63. speed = speed,
  64. target_speed = target_speed,
  65. max_speed = max_speed,
  66. energy = turbine.getEnergyProducedLastTick()
  67. }, "turbine_control");
  68. end
  69.  
  70. os.sleep(1)
  71. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement