OpenComputers/Апгрейд-контроллер инвентаря
Тип |
OpenComputers |
---|---|

Редкость |
Обычный |

Прочность |
Нет |

Возобновляемый |
Нет |

Складываемый |
Да (64) |


**Апгрейд-контроллер инвентаря** позволяет роботу более точно взаимодействовать со своими слотами (слот инструмента) и другими инвентарями (сундуками, например).

## Крафт

Ингредиенты | Рецепты крафта |
---|---|

Поршень + Золотой слиток + Раздатчик + Микрочип (Уровень 2) + Анализатор + Печатная плата |


## Интерфейс (API)

Название компонента: `inventory_controller`


`getInventorySize(facing: number): number`


Возвращает размер инвентаря, расположенного по определенную сторону (см. Sides API) от робота.

`getStackInSlot(side:number, slot:number):table`


Возвращает информацию о предметах в слоте инвентаря, расположенного по заданную сторону. Апгрейд умеет узнавать информацию о инвентарях, расположенных сверху, спереди или снизу.

Для того, чтобы команда возвращала данные, к конфигурации мода должна быть разрешена "инспекция слотов".

В старых версиях мода OpenComputers можно было указать сторону `back`

, как указатель на инвентарь самого робота.
В последних версиях, вместо этого используется команда `getStackInInternalSlot()`

.

Информация возвращается в виде таблицы с полями:

`name`

: внутреннее имя предмета. Например:`minecraft:sand`

или`OpenComputers:item`

`damage`

: метаданные предмета (например, значение прочности для меча)`maxDamage`

: максимальное значение, которое могут принять метаданные предмета`size`

: количество предметов в слоте`maxSize`

: максимально возможное число предметов в слоте`label`

: полное название предмета в выбранной локализации`hasTag`

: имеет ли предмет какие либо NBT теги


`getStackInInternalSlot(slot:number):table`


Возвращает подробные данные о предметах во внутреннем слоте робота.

См. `getStackInSlot()`


`dropIntoSlot(facing:number, slot:number[, count:number]): true or false, string`


Помещает стек предметов (либо определенное количество) из активного слота робота в заданный слот инвентаря, который находится по заданную сторону от робота.

`suckFromSlot(facing:number, slot:number[, count:number]): true or false, string`


Извлекает предметы из заданного слота инвентаря, который находится по определенную сторону от робота.

`equip(): boolean`


Меняет местами предмет в слоте с инструментов, и предмет в активном слоте инвентаря робота.

Возвращает `true`

или `false`

в зависимости от успеха перемещения.