Advertisement
utoft

Untitled

Jun 10th, 2014
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. cellList = {["cofh_thermalexpansion_energycell_2"]=50000000,
  2. ["cofh_thermalexpansion_energycell_3"]=50000000,
  3. ["cofh_thermalexpansion_energycell_4"]=50000000,
  4. ["cofh_thermalexpansion_energycell_5"]=50000000,
  5. ["cofh_thermalexpansion_energycell_6"]=50000000,
  6. ["cofh_thermalexpansion_energycell_7"]=50000000} -- list of items with size
  7. cableSide = "bottom"
  8.  
  9. deb = true -- enable debug
  10. sleepTime = 10 -- time to sleep between actions
  11.  
  12. -- Colors see: http://computercraft.info/wiki/Colors_%28API%29
  13. -- Comments columns,rows,motor
  14. -- Block 1 - Wood 1,4,20
  15. engWood1 = colors.orange -- 1, 1, 5
  16. engWood2 = colors.magenta -- 1, 1, 5
  17. engWood34 = colors.lightBlue -- 1, 2, 10
  18. engWoodB1 = colors.combine(engWood1, engWood2, engWood34) -- 1, 4, 20
  19.  
  20. -- Block 2 - Wood 1,4,40
  21. engWoodB2 = colors.yellow --1,4,40
  22.  
  23. -- Block 3 - Wood 1,4,40
  24. engWoodB3 = colors.lime --1,4,40
  25.  
  26. -- Block 4 - Wood 1,4,40
  27. engWoodB4 = colors.pink --1,4,40
  28.  
  29. engWood = colors.combine(engWoodB1, engWoodB2, engWoodB3, engWoodB4) -- 2, 8, 100
  30.  
  31. engAll = engWood
  32.  
  33. powerLevels = {0, engWood1, engWood34, engWoodB1, colors.combine(engWoodB1, engWoodB2), engWood, engAll}
  34.  
  35. -- DO NOT ALTER
  36. maxEnergy = 0
  37.  
  38. for key,value in pairs(cellList) do
  39. peripheral.wrap(key)
  40. maxEnergy = maxEnergy + value
  41. end
  42.  
  43. function getMaxEnergyLevel()
  44. return maxEnergy
  45. end
  46.  
  47. function getEnergyLevel()
  48. currentEnergy = 0
  49. for key,value in pairs(cellList) do
  50. cell = peripheral.wrap(key)
  51. currentEnergy = currentEnergy + cell.getEnergyStored(key)
  52. end
  53.  
  54. return currentEnergy
  55. end
  56.  
  57. function getPercent()
  58. return 100 * getEnergyLevel() / getMaxEnergyLevel()
  59. end
  60.  
  61. function startLevel(level)
  62. if (deb == true) then
  63. print("Level: "..level.." Color: "..powerLevels[level])
  64. end
  65. redstone.setBundledOutput(cableSide, powerLevels[level])
  66. end
  67.  
  68. function numToString(number)
  69. str = ""
  70. multiplier = 1
  71. while (number > multiplier) do
  72. floored = math.floor(number/multiplier)
  73. str = math.fmod(floored,1000) .. "." .. str
  74. multiplier = multiplier * 1000
  75. end
  76.  
  77. return str
  78. end
  79.  
  80. while true do
  81. energyLevel = getEnergyLevel()
  82. energyPercent = getPercent()
  83.  
  84. print("Current energy is: ".. numToString(energyLevel) .. " or (" .. math.floor(energyLevel/1000000) .. "/" .. math.floor(getMaxEnergyLevel()/1000000) .. ") (" .. math.floor(energyPercent) .. "%)")
  85. if (energyPercent > 25) then
  86. startLevel(1)
  87. elseif (energyPercent > 20) then
  88. startLevel(2)
  89. elseif (energyPercent > 15) then
  90. startLevel(3)
  91. elseif (energyPercent > 12) then
  92. startLevel(4)
  93. elseif (energyPercent > 10) then
  94. startLevel(5)
  95. --elseif (energyPercent > 0.88) then
  96. else
  97. startLevel(6)
  98. end
  99. sleep(sleepTime)
  100. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement