Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Инициируем все библиотеки и переменные
- local colors = require("colors")
- local component = require("component")
- local gpu = component.gpu
- local term = require("term")
- local br_reactor
- local PR
- local RR
- br_reactor = component.br_reactor
- -- Переводим реактор в активное состояние
- br_reactor.setActive(true)
- -- Меняем цвет фона
- gpu.setForeground(0xFFFFFF)
- --Опускаем стержни, пока не будет сделана настройка системы
- if component.isAvailable("br_reactor") then
- br_reactor.setAllControlRodLevels(100)
- stats = br_reactor.getActive()
- else
- print("Этой программе требуется беспроводной модем для работы!")
- end
- --Очистка терминала
- term.clear()
- --Вывод текста и выбор ячейки
- print("Сделано Волчарой")
- print("Добро пожаловать в программу для поддерживания реактора в нужном количестве энергии")
- print("Пожалуйста, выберете из какого мода используется ячейка")
- print("1) ThermalExpansion")
- print("2) Ender IO")
- --Ввод ответа
- local DD = tonumber(io.read())
- --Проверка на выбор
- if DD == 1 then
- --Инициируем и определяем называние ячейки
- nazv = "ThermalExpansion"
- bank = component.tile_thermalexpansion_cell_resonant_name
- print("")
- print("Вы выбрали ThermalExpansion")
- else
- nazv = "EnderIO"
- bank = component.capacitor_bank
- print("")
- print("Вы выбрали Ender IO")
- end
- --Выюор режима работы MFSU
- print("Выбери режим работы")
- print("1) Режим без MFSU")
- print("2) Режим с MFSU")
- --Проверка максимума и ввод на выбор
- local YACH = bank.getMaxEnergyStored()
- local MFSs = tonumber(io.read())
- -- Проверка и если да, выбор в пользу MFSU, инициируем нужные библиотеки
- if MFSs == 2 then
- print("Пожалуйста, введите номер стороны как вы ставили свой (Красный камень) ")
- print("Подсказка: Верх: 0, Вниз:1, Зад:2, Перед:3, Право:4, Лево:5")
- sid = tonumber(io.read())
- mfsu = component.mfsu
- red = component.redstone
- mfsuS = mfsu.getEUStored()
- print("Пожалуйста, введите ограничение для ячейки " .. nazv)
- print("Максимальное количество энергии в ячейке: " .. YACH)
- rar = tonumber(io.read())
- else
- end
- --Проверка вместимости ячейки
- local YACH = bank.getMaxEnergyStored()
- print("")
- print("Через 5 секунд программа включится и вы должны указать, сколько должна программа поддерживать rf энергии в накопителе")
- print("Максимальное количество энергии в ячейке: " .. YACH)
- --Ожидание 5 сек.
- os.sleep(5)
- --Ввод данных (поддержка)
- local PR = tonumber(io.read())
- --Проверка данных на ёмкость и поддержку
- while PR > YACH do
- print("Вы ошиблись в вводе данных, пожалуйста, попробуйте снова")
- PR = tonumber(io.read())
- end
- --Проверка на MFSU и если да, то выбираем количество и т.д.
- if MFSs == 2 then
- print("Выберите количество поддержки для MFSU")
- lol = mfsu.getEUCapacity()
- print("Максимально возможно: " .. lol)
- mfsup = tonumber(io.read())
- while mfsup > lol do
- print("Вы ошиблись в вводе данных, пожалуйста, попробуйте снова")
- mfsup = tonumber(io.read())
- end
- else
- end
- --Ввод данных (обновление)
- print("Как часто будет происходить обновление ёмкости? (Укажите в секундах)")
- local RR = tonumber(io.read())
- --Очистка терминала + благодарственное письмо
- term.clear()
- print("Спасибо за выбор программы Support For Cell. Удачного использования")
- os.sleep(5)
- --Проверка доступности реактора + выключение по завершении работы реактора
- while stats == true do
- stats = br_reactor.getActive()
- local X = bank.getEnergyStored()
- --Очистка терминала
- term.clear()
- --Основной текст + Вывод данных (Поддержка + ёмкость ячейки)
- print("Сделано Волчарой")
- print("Для выключение программы зажмите сочетание клавиш CTRL+ALT+C, или просто вручную выключите реактор и он выключится через " .. RR .. " секунд")
- print("Вы выбрали поддержку = " .. PR)
- print("Ёмкость ячейки = " .. X)
- --Вывод статуса стержней
- if X < PR then
- print("Статус стержней: Подняты")
- else
- print("Статус стержней: Опущены")
- end
- --Если выбор в пользу MFSU делаем цикл с редстоуном
- if MFSs == 2 then
- local mfsuS = mfsu.getEUStored()
- print("Сейчас в MFSU хранится = " .. mfsuS)
- print("Вы выбрали поддержку для MFSU = " .. mfsup)
- if rar < X then
- if mfsuS < mfsup then
- print("Идёт перекачивание энергии в MFSU")
- red.setOutput(sid, 15)
- else
- print("Не идёт перекачивание энергии в MFSU. (Этого просто не требуется)")
- red.setOutput(sid, 0)
- end
- else
- red.setOutput(sid, 0)
- print("Не идёт перекачивание энергии в MFSU. (Слишком низкое количество энергии в изначальной ячейке")
- end
- else
- end
- --Ожидание по частоте обновления
- os.sleep(RR)
- --Регулировка стержней по поддержке
- if X < PR then
- br_reactor.setAllControlRodLevels(0)
- else
- br_reactor.setAllControlRodLevels(100)
- --Конец программы
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement