Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cellList = {["cofh_thermalexpansion_energycell_2"]=50000000,
- ["cofh_thermalexpansion_energycell_3"]=50000000,
- ["cofh_thermalexpansion_energycell_4"]=50000000,
- ["cofh_thermalexpansion_energycell_5"]=50000000,
- ["cofh_thermalexpansion_energycell_6"]=50000000,
- ["cofh_thermalexpansion_energycell_7"]=50000000} -- list of items with size
- cableSide = "bottom"
- deb = true -- enable debug
- sleepTime = 10 -- time to sleep between actions
- -- Colors see: http://computercraft.info/wiki/Colors_%28API%29
- -- Comments columns,rows,motor
- -- Block 1 - Wood 1,4,20
- engWood1 = colors.orange -- 1, 1, 5
- engWood2 = colors.magenta -- 1, 1, 5
- engWood34 = colors.lightBlue -- 1, 2, 10
- engWoodB1 = colors.combine(engWood1, engWood2, engWood34) -- 1, 4, 20
- -- Block 2 - Wood 1,4,40
- engWoodB2 = colors.yellow --1,4,40
- -- Block 3 - Wood 1,4,40
- engWoodB3 = colors.lime --1,4,40
- -- Block 4 - Wood 1,4,40
- engWoodB4 = colors.pink --1,4,40
- engWood = colors.combine(engWoodB1, engWoodB2, engWoodB3, engWoodB4) -- 2, 8, 100
- engAll = engWood
- powerLevels = {0, engWood1, engWood34, engWoodB1, colors.combine(engWoodB1, engWoodB2), engWood, engAll}
- -- DO NOT ALTER
- maxEnergy = 0
- for key,value in pairs(cellList) do
- peripheral.wrap(key)
- maxEnergy = maxEnergy + value
- end
- function getMaxEnergyLevel()
- return maxEnergy
- end
- function getEnergyLevel()
- currentEnergy = 0
- for key,value in pairs(cellList) do
- cell = peripheral.wrap(key)
- currentEnergy = currentEnergy + cell.getEnergyStored(key)
- end
- return currentEnergy
- end
- function getPercent()
- return 100 * getEnergyLevel() / getMaxEnergyLevel()
- end
- function startLevel(level)
- if (deb == true) then
- print("Level: "..level.." Color: "..powerLevels[level])
- end
- redstone.setBundledOutput(cableSide, powerLevels[level])
- end
- function numToString(number)
- str = ""
- multiplier = 1
- while (number > multiplier) do
- floored = math.floor(number/multiplier)
- str = math.fmod(floored,1000) .. "." .. str
- multiplier = multiplier * 1000
- end
- return str
- end
- while true do
- energyLevel = getEnergyLevel()
- energyPercent = getPercent()
- print("Current energy is: ".. numToString(energyLevel) .. " or (" .. math.floor(energyLevel/1000000) .. "/" .. math.floor(getMaxEnergyLevel()/1000000) .. ") (" .. math.floor(energyPercent) .. "%)")
- if (energyPercent > 25) then
- startLevel(1)
- elseif (energyPercent > 20) then
- startLevel(2)
- elseif (energyPercent > 15) then
- startLevel(3)
- elseif (energyPercent > 12) then
- startLevel(4)
- elseif (energyPercent > 10) then
- startLevel(5)
- --elseif (energyPercent > 0.88) then
- else
- startLevel(6)
- end
- sleep(sleepTime)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement