OpenComputers/Апгрейд-генератор
Тип |
OpenComputers |
---|---|
Редкость |
Обычный |
Прочность |
Нет |
Возобновляемый |
Нет |
Складываемый |
? |
Апгрейд-генератор позволяет роботу самостоятельно заряжаться, сжигая топливо из своего инвентаря. Поскольку управление генератором происходит через его API (программно), робот должен быть заряжен и запущен предварительно.
По умолчанию генератор вырабатывает 0.8 энергии за один "такт" (эффективность в 4/5 от парового двигателя BuildCraft).
Этот параметр настраивается в файле конфигурации в пункте
opencomputers.power.generatorEfficiency
Крафт
Ингредиенты | Процесс |
---|---|
Микрочип (Уровень 1) + Поршень + Железный слиток + Печатная плата |
API
Генератор имеет внутреннее хранилище для топлива, куда помещается один стек. Этот API позволяет с ним взаимодействовать.
Название компонента: generator
Функции:
count(): number
Текущее количество топлива в инвентаре генератора.
insert([count: number]): boolean[, string]
Помещает выбранное количество предметов (топлива) из активной ячейки инвентаря робота в генератор. Возвращает true
, если хотя бы один предмет был перемещен. В противном случае — false
и сообщение ошибки.
Возможные тексты ошибки:
- "selected slot does not contain fuel" — если активный слот не содержит предметов, которые можно сжечь
- "different fuel type already queued" — если в генераторе находится другой тип топлива
- "queue is full" — если в генераторе уже есть 64 единицы топлива такого типа
remove([count: number]): boolean
Вынимает из генератора указанное количество топлива и помещает его в активный слот инвентаря робота или первый свободный после него. Возвращает true
, если хотя бы один предмет был перемещен. В противном случае — false
.
Пример использования
local component = require("component") -- Предполагается, что робот имеет генератор, а -- активный слот инвентаря содержит стак угля: local g = component.generator -- получаем компонент print(g.count()) -- 0 g.insert(1) -- true print(g.count()) -- 0 потому, что генератор забрал уголь в топку и заработал g.insert(5) print(g.count()) -- 5 g.remove() -- удаляем топливо из генератора print(g.count()) -- 0 g.insert() -- помещаем в генератор все содержимое активной ячейки print(g.count()) -- 63 (минус один сожженный в начале)