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 (минус один сожженный в начале)