Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
− | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">Данная библиотека для Inner Core позволяет описать взаимодействие блоков с трубами, воронками и прочими предметами для транспортировки предметов и жидкостей с помощью интерфейсов хранилищ, а так же добавляет методы для извлечения и загрузки предметов и жидкостей. <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | + | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> |
| + | Данная библиотека для Inner Core позволяет описать взаимодействие блоков с трубами, воронками и прочими предметами для транспортировки предметов и жидкостей с помощью интерфейсов хранилищ, а так же добавляет методы для извлечения и загрузки предметов и жидкостей. |
| + | <div class="mw-parser-output"><div class="mw-parser-output"> |
| == Загрузка == | | == Загрузка == |
| | | |
Строка 5: |
Строка 7: |
| |- | | |- |
| | Версия | | | Версия |
− | | style="width: 36px;" | Ссылка
| + | | Ссылка |
− | | style="width: 393px;" | Список изменений | + | | style="width: 280px;" | Список изменений |
− | | style="width: 250px;" | Дата релиза | + | | style="width: 350px;" | Дата релиза |
− | |-
| |
− | | '''12'''
| |
− | | style="width: 36px;" | [https://github.com/MineExplorer/IC_Libraries/releases/tag/storage-interface-v12 Скачать]
| |
− | | style="width: 393px;" |
| |
− | *getOutputSlots возвращает пустые слоты tile entity
| |
− | | |
− | | style="width: 250px;" | 07.08.2021
| |
− | |-
| |
− | | '''11'''
| |
− | | style="width: 36px;" | [https://github.com/MineExplorer/IC_Libraries/releases/tag/storage-interface-v11 Скачать]
| |
− | | style="width: 393px;" |
| |
− | *Библиотека поддерживает предметы с отрицательными ид
| |
− | *В интерфейс хранилища добавлены следующие поля:<br/> - liquidUnitRatio<br/> - getInputTank(side)<br/> - getOutputTank(side)<br/> - receiveLiquid(liquidStorage, liquid, amount)<br/> - extractLiquid(liquidStorage, liquid, amount)<br/> И удалены поля: addLiquid. getLiquid, getLiquidStored, getLiquidStorage
| |
− | | |
− | | style="width: 250px;" | 01.04.2021
| |
− | |-
| |
− | | '''10'''
| |
− | | style="width: 36px;" | [https://github.com/MineExplorer/IC_Libraries/releases/tag/storage-interface-v10 Скачать]
| |
− | | style="width: 393px;" |
| |
− | *Метод newStorage переименован в getInterface
| |
− | *Исправлен стак предметов при использовании функций валидации и макс. стака в ItemContainer из библиотеки
| |
− | | |
− | | style="width: 250px;" | 09.01.2021
| |
− | |-
| |
− | | '''9'''
| |
− | | style="width: 36px;" | [https://github.com/MineExplorer/IC_Libraries/releases/tag/storage-interface-v9 Скачать]
| |
− | | style="width: 393px;" |
| |
− | *Новые методы для интерфейсов хранилищ:<br/> - getContainerSlots()<br/> - getInputSlots(side)<br/> - getReceivingItemCount(item, side)<br/> - addItemToSlot(name, item, maxCount)<br/> - clearContainer()
| |
− | *Исправлен стандартный интерфейс TIleEntity
| |
− | | |
− | | style="width: 250px;" | 14.12.2020
| |
− | |-
| |
− | | '''8'''
| |
− | | style="width: 36px;" | [https://github.com/MineExplorer/IC_Libraries/releases/tag/storage-interface-v8 Скачать]
| |
− | | style="width: 393px;" |
| |
− | *Поддержка мультиплеера
| |
− | *Добавлены стандартные интерфейсы для всех видов контейнеров
| |
− | *Добавлены методы для получение интерфейсов хранилищ
| |
− | *Добавлены методы для установки валидации предметов и макс стака слотов в ItemContainer
| |
− | | |
− | | style="width: 250px;" | 10.12.2020
| |
− | |-
| |
− | | '''7'''
| |
− | | style="text-align: center; width: 36px;" | -
| |
− | | style="width: 393px;" |
| |
− | - В описании слота в интерфейсе хранилища теперь можно указать стороны, через которые с ним можно взаимодействовать
| |
− | | |
− | | style="width: 250px;" | 10.06.2020
| |
− | |-
| |
− | | '''6'''
| |
− | | style="width: 36px;" | [https://yadi.sk/d/TITakdpdsjIGug Скачать]
| |
− | | style="width: 393px;" | - Библиотека обновлена на InnerCore для Horizon: добавлена поддержка новых ванильных контейнеров.
| |
− | | style="width: 250px;" | 18.04.2020
| |
− | |-
| |
− | | '''5'''
| |
− | | style="width: 36px;" | [https://yadi.sk/d/Om5TRGdlhylfQA Скачать]
| |
− | | style="width: 393px;" | - Исправлена ошибка взаимодействия с tile entity без интерфейса хранилища в методе StorageInterface.transportLiquid
| |
− | | style="width: 250px;" | 09.03.2020
| |
| |- | | |- |
| | '''4''' | | | '''4''' |
− | | style="width: 36px;" | [https://yadi.sk/d/1gBu4a-fEme-jA Скачать]
| + | | [https://yadi.sk/d/ayrPIjyJdjX-HQ Скачать] |
− | | style="width: 393px;" | | + | | style="width: 280px;" | |
− | *Улучшена работа с жидкостями
| + | - Улучшена работа с жидкостями<br/> - extractItemsFromContainer теперь принимает первым аргументом контейнер, а не tileEntity |
− | *В интерфейс добавлено поле liquidStorage
| |
| | | |
− | | style="width: 250px;" | 05.03.2020 | + | | style="width: 350px;" | 04.03.2020 |
| |- | | |- |
| | '''3''' | | | '''3''' |
− | | style="width: 36px;" | [https://drive.google.com/file/d/1Hsp2nLIER0wF-ZzDvdsy1btxWFhnebv1/view?usp=sharing Скачать]
| + | | [https://drive.google.com/file/d/1Hsp2nLIER0wF-ZzDvdsy1btxWFhnebv1/view?usp=sharing Скачать] |
− | | style="width: 393px;" | - Релиз библиотеки | + | | style="width: 280px;" | релиз библиотеки |
− | | style="width: 250px;" | 02.02.2020 | + | | style="width: 350px;" | 02.02.2020 |
| |} | | |} |
− | </div> <div class="mw-parser-output"> </div> </div> </div> </div> </div>
| + | </div> </div> |
| == Импорт == | | == Импорт == |
| | | |
− | Для добавления библиотеки в мод ее файл ''([https://github.com/MineExplorer/IC_Libraries/blob/master/library/StorageInterface.js StorageInterface.js])'' нужно добавить в директорию ''lib/'' в директории мода (если таковой нету, то ее нужно создать). | + | Для добавления библиотеки в мод ее файл ''([https://github.com/MineExplorer/IndustrialCraft_2/blob/master/IndustrialCraft²/lib/StorageInterface.js StorageInterface.js])'' нужно добавить в директорию ''lib/'' в директории мода (если таковой нету, то ее нужно создать). |
− | | |
− | Для импорта библиотеки в мод в заголовочном файле (или если он отсутствует в первом файле кода) следует добавить строку:
| |
− | <pre>IMPORT("StorageInterface");
| |
− | </pre>
| |
| | | |
| + | Для импорта библиотеки в мод в заголовочном файле (или если он остутвует в первом файле кода) следует добавить строку: |
| + | <pre>IMPORT("StorageInterface");</pre> |
| + | <div class="mw-parser-output"> |
| == Интерфейсы хранилищ блоков == | | == Интерфейсы хранилищ блоков == |
| | | |
− | Интерфейсы хранилищ объединяют в себе функции для работы с контейнерами и хранилищем жидкости и позволяют описать логику передачи предметов и жидкостей. В библиотеке есть стандартные интерфейсы для ванильных контейнеров и TileEntity, но вы можете зарегистрировать свой собственный для вашего TileEntity.
| + | На данный момент интерфейсы привязываются только к tile entity, но в будущем по умолчанию интерфейсы будут прописаны у контейнеров из Майнкрафта, прежде всего печки. |
− | <div class="mw-parser-output"><div class="mw-parser-output">
| |
− | === Регистрация интерфейса хранилища ===
| |
− | | |
− | ''StorageInterface.createInterface(id блока, прототип интерфейса).''
| |
− | | |
− | Все параметры слотов и функции прототипа интерфейса опциональны.<br/> Прототип интерфейса выглядит так:
| |
− | <syntaxhighlight lang="JavaScript">StorageInterface.createInterface(id блока, {
| |
− | slots: {
| |
− | "slot1": {
| |
− | input: boolean, // может ли слот принимать предметы
| |
− | output: boolean, // может ли слот отдавать предметы
| |
− | // Сторона блока, через которую доступен слот.
| |
− | // Значение - число или одна из настроек: "horizontal", "verctical", "down", "up".
| |
− | side: int | string,
| |
− | // Максимальное количество предметов в слоте
| |
− | maxStack: int,
| |
− | // Может ли слот принять предмет item со стороны side
| |
− | isValid: function(item, side, tileEntity) {
| |
− | return boolean;
| |
− | },
| |
− | // Можно ли извлечь предмет из слота (item - предмет в слоте)
| |
− | canOutput: function(item, side, tileEntity) {
| |
− | return boolean;
| |
− | }
| |
− | },
| |
− | // Все слоты с именем slot и индексами от 2 до 10 (slot2, ..., slot10).
| |
− | "slot^2-10": {
| |
− | ...
| |
− | },
| |
− | ...
| |
− | },
| |
− | liquidUnitRatio: 1, // количество вёдер жидкости в базовом юните жидкости
| |
− | // функции интерфейса
| |
− | });</syntaxhighlight>
| |
− | </div> </div>
| |
− | === <br/> Функции интерфейса хранилища ===
| |
| | | |
− | Интерфейс хранилища обладает следующими функциями. Вы можете заменить их на свои в прототипе интерфейса при регистрации. | + | Интерфейс для хранилища добавляется с помощью метода ''StorageInterface.createInterface(id блока, объект интерфейса)'' и в общем виде выглядит так: |
| + | <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">StorageInterface.createInterface(id блока, {<br/> slots: {<br/> "slot1": {<br/> input: bool, // может ли слот принимать предметы<br/> output: bool, // может ли слот отдавать предметы<br/> isValid: function(item, side, tileEntity){ // может ли слот принять предмет item со стороны side<br/> return bool;<br/> },<br/> canOutput: function(item, side, tileEntity){ // можно ли извлечь предмет из слота (item - предмет в слоте)<br/> return bool;<br/> }<br/> },<br/> "slot2": {<br/> ...<br/> },<br/> ...<br/> },<br/> isValidInput: function(item, side, tileEntity){ // аналогична функции isValid слота, но действует на все слоты контейнера<br/> return true;<br/> },<br/> addItem: function(item, side, maxCount){ return int; }, // функция добавления предмета<br/> getOutputSlots: function(side){ return []; }, // функция получения слотов для извлечения предметов<br/> <br/> // методы работы с хранилищем жидкости<br/> canReceiveLiquid: function(liquid, side){ return false; }, // может ли tile entity принять жидкость (liquid - название жидкости)<br/> canTransportLiquid: function(liquid, side){ return false; }, // может ли tile entity отдать жидкость (liquid - название жидкости)<br/> addLiquid: function(liquid, amount){ // функция добавление жидкости<br/> return this.liquidStorage.addLiquid(liquid, amount);<br/> }<br/> getLiquid: function(liquid, amount){ // функция извлечения жидкости<br/> return this.liquidStorage.getLiquid(liquid, amount);<br/> }<br/> });</div> |
| + | Здесь указаны все функции объекта интерфейса, которые можно задать этим методом. При их отсутствии добавляются функции по умолчанию, и для некоторых функций приведён их код. |
| + | <div class="mw-parser-output">Интерфейс хранилища сохраняется в поле ''interface ''объекта tile entity. В экземпляре интерфейса есть следующие указатели:</div> <div class="mw-parser-output">''tileEntity ''- на tile entity, к которому он привязан;</div> <div class="mw-parser-output">''container ''- на контейнер tile entity;</div> <div class="mw-parser-output">''liquidStorage ''- на хранилище жидкости tileEntity.</div> <div class="mw-parser-output"> </div> <div class="mw-parser-output">Добавление интерфейса для tile entity на примере железной печки из мода IndustrialCraft 2</div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">StorageInterface.createInterface(BlockID.ironFurnace, {<br/> slots: {<br/> "slotSource": {<br/> input: true,<br/> isValid: function(item, side){<br/> return side != 0 && Recipes.getFurnaceRecipeResult(item.id, "iron");<br/> }<br/> },<br/> "slotFuel": {<br/> input: true, <br/> isValid: function(item, side){<br/> return side != 1 && Recipes.getFuelBurnDuration(item.id, item.data) > 0;<br/> }<br/> },<br/> "slotResult": {output: true}<br/> }<br/> });</div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> |
| + | == Методы для передачи предметов и жидкостей == |
| | | |
| {| border="1" cellpadding="1" cellspacing="1" | | {| border="1" cellpadding="1" cellspacing="1" |
Строка 137: |
Строка 47: |
| | Описание | | | Описание |
| |- | | |- |
− | | '''getSlot''' | + | | '''getNearestContainers''' |
− | | name | + | | coords, side, sideExcluded |
− | | Возвращает слот контейнера. | + | | Возвращает соседние с блоком на координатах ''coords ''контейнеры в виде массива. Если указан параметр ''side'', то вернёт контейнер с этой стороны. Если ''sideExcluded ''равен ''true'', то наоборот, все контейнеры кроме контейнера с указанной стороны. |
− | |-
| |
− | | '''setSlot'''
| |
− | | name, id, count, data, extra
| |
− | | Устанавливает предмет в слот контейнера.
| |
| |- | | |- |
− | | '''isValidInput''' | + | | '''getNearestLiquidStorages''' |
− | | item, side, tileEntity | + | | coords, side, sideExcluded |
− | | Аналогична функции isValid слота, но действует на все слоты контейнера. По умолчанию возвращает true. | + | | Аналогична предыдущей, но возвращает все соседние tile entity, имеющие хранилища жидкостей. |
| |- | | |- |
− | | '''addItem''' | + | | '''putItems''' |
− | | item, side, maxCount | + | | items, containers |
− | | Функция добавления предмета. Возвращает количество добавленных предметов. | + | | Добавляет предметы из массива items в контейнеры из массива containers. Удобно использовать в связке с методом ''getNearestContainers'''''.''' |
| |- | | |- |
− | | '''addItemToSlot''' | + | | '''putItemToContainer''' |
− | | name, item, maxCount | + | | item, container, side, maxCount |
− | | Добавляет предмет в слот контейнера, maxCount - максимальное количество предмета, которое будет добавлено. | + | | Метод более низкого уровня, на котором основана работа предыдущего метода. Добавляет стак предметов в контейнер, но позволяет также указать максимальное количество предметов, которое может быть передано за раз. |
| |- | | |- |
| + | | '''extractItemsFromContainer''' |
| + | | inputContainer, container, side, maxCount, oneStack |
| | | | | |
− | '''getReceivingItemCount''' | + | Позволяет извлечь предмет из контейнера и добавить его в tile entity.<br/> '''inputContainer '''- контейнер, в который будут добавлены предметы<br/> '''container '''- контейнер, из которого будут извлечены предметы<br/> '''maxCount '''- сколько предметов извлечь [опционально]<br/> '''oneStack '''- если true, то будет извлечён только один стак предметов. |
| | | |
− | | item, side
| |
− | | Возвращает сколько предметов из стака контейнер может принять.
| |
| |- | | |- |
| + | | '''transportLiquid''' |
| + | | liquid, maxAmount, outputTile, inputTile, outputSide |
| | | | | |
− | '''getContainerSlots''' | + | Передаёт жидкость из одного tile entity в другой.<br/> '''liquid '''- название жидкости<br/> '''maxAmount '''- максимальное количество, которое будет передано<br/> '''outputTile '''- tile entity, из которого будет передана жидкость<br/> '''inputTile '''- tile entity, в который будет передана жидкость<br/> '''outputSide '''- сторона, через которую передаётся жидкость |
| | | |
− | | -
| |
− | | Возвращает все слоты контейнера
| |
| |- | | |- |
− | | '''getInputSlots''' | + | | '''extractLiquid''' |
− | | side
| + | | liquid, maxAmount, inputTile, outputTile, inputSide |
− | | Возвращяет названия слотов входа, доступных со стороны ''side''.
| |
− | |-
| |
− | | '''getOutputSlots'''
| |
− | | side
| |
− | | Возвращает названия слотов выхода, доступных со стороны ''side''.
| |
− | |-
| |
− | | '''clearContainer'''
| |
− | | -
| |
− | | Очищает содержимое контейнера
| |
− | |-
| |
− | | '''canReceiveLiquid'''
| |
− | | liquid, side | |
− | | Может ли TileEntity принять жидкость с именем ''liquid ''со стороны ''side''. По умолчанию возвращает true если в liquidStorage установлен лимит для этой жидкости.
| |
− | |-
| |
− | | '''canTransportLiquid'''
| |
− | | liquid, side
| |
− | | Может ли TileEntity отдать жидкость с именем ''liquid ''со стороны ''side''. По умолчанию возвращает true.
| |
− | |-
| |
− | | '''receiveLiquid'''
| |
− | | liquidStorage, liquid, amount
| |
| | | | | |
− | Функция добавление жидкости в хранилище.<br/> '''liquidStorage''' - хранилище, принимающее жидкость<br/> '''liquid '''- название жидкости<br/> '''amount '''- количество жидкости
| + | Похож на предыдущий, но позволяет извлечь жидкость из tile entity<br/> '''liquid '''- в отличие от предыдущего метода жидкость может быть не указана, тогда извлечёт жидкость, которая хранится в ''outputTile''.<br/> '''inputSide '''- сторона, в которую будет поступать жидкость |
| | | |
| |- | | |- |
− | | '''extractLiquid''' | + | | '''checkHoppers''' |
− | | liquidStorage, liquid, amount | + | | tileEntity |
− | | Функция извлечения жидкости из хранилища. | + | | Позволяет tile entity взаимодействовать с воронками. Для этого должна выполняться в функции тика tile entity. Требует интерфейса хранилища у tile entity для работы. |
− | |-
| |
− | | '''getInputTank'''
| |
− | | side
| |
− | |
| |
− | Возвращает входное хранилище жидкости TileEntity. По умолчанию возвращает liquidStorage.<br/> '''side '''- сторона с которой будет производиться работа
| |
− | | |
| |- | | |- |
− | | '''getOutputTank''' | + | | '''addItemToSlot''' |
− | | side | + | | item, slot, count |
− | | | + | | Внутренний метод библиотеки для добавления предмета в слот. При использовании на нативном контейнере нужно также установить слот, используя ''container.setSlot.'' |
− | Возвращает выходное хранилище жидкости TileEntity. По умолчанию возвращает liquidStorage.<br/> '''side '''- сторона с которой будет производиться работа
| |
− | | |
| |} | | |} |
− | <div class="mw-parser-output"><br/> В экземпляре интерфейса также есть следующие поля:</div> <div class="mw-parser-output">''isNativeContainer ''- true если контейнер является ванильным, false если из TileEntity.</div> <div class="mw-parser-output">''container ''- контейнер;<br/> ''tileEntity ''- если создан для TileEntity.</div> <div class="mw-parser-output"> </div> <div class="mw-parser-output">Регистрация интерфейса для TileEntity на примере железной печки из мода IndustrialCraft 2</div> <syntaxhighlight lang="JavaScript">StorageInterface.createInterface(BlockID.ironFurnace, { | + | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> |
− | slots: {
| + | == Обратная совместимость == |
− | "slotSource": {
| |
− | input: true,
| |
− | side: "up",
| |
− | isValid: function(item, side){
| |
− | return Recipes.getFurnaceRecipeResult(item.id, "iron");
| |
− | }
| |
− | },
| |
− | "slotFuel": {
| |
− | input: true,
| |
− | side: "horizontal",
| |
− | isValid: function(item, side){
| |
− | return Recipes.getFuelBurnDuration(item.id, item.data) > 0;
| |
− | }
| |
− | },
| |
− | "slotResult": {output: true}
| |
− | }
| |
− | });</syntaxhighlight>
| |
− | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
| |
− | === Методы для получения интерфесов хранилищ ===
| |
− | | |
− | *'''StorageInterface.getInterface('''''container ''или ''tileEntity''''')''' - возвращает интерфейс хранилища для TileEntity или контейнера.
| |
− | *'''StorageInterface.getStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс хранилища для контейнера на координатах
| |
− | *'''StorageInterface.getLiquidStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс для TileEntity, хранящего жидкости, по координатам.
| |
− | *'''StorageInterface.getNeighbourStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс хранилища для соседнего блока со стороны side.
| |
− | *'''StorageInterface.getNeighbourLiquidStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс для соседнего TileEntity, хранящего жидкости, со стороны side
| |
− | </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>
| |
− | == Остальные методы StorageInterface ==
| |
− | | |
− | {| border="1" cellpadding="1" cellspacing="1"
| |
− | |-
| |
− | | style="width: 178px;" | Название
| |
− | | style="width: 114px;" | Аргументы
| |
− | | style="width: 458px;" | Описание
| |
− | |-
| |
− | | style="width: 178px;" | '''getNearestContainers'''
| |
− | | style="width: 114px;" | coords, blockSource
| |
− | | style="width: 458px;" | Возвращает соседние контейнеры относительно блока на координатах ''coords ''в виде объекта, где ключами являются стороны блока.
| |
− | |-
| |
− | | style="width: 178px;" | '''getNearestLiquidStorages'''
| |
− | | style="width: 114px;" | coords, blockSource
| |
− | | style="width: 458px;" | Работает аналогично предыдущему, но возвращает интерфейсы хранилищ для всех соседних TileEntity, имеющих хранилища жидкостей.
| |
− | |-
| |
− | | style="width: 178px;" | '''putItems'''
| |
− | | style="width: 114px;" | items, containers
| |
− | | style="width: 458px;" | Добавляет предметы из массива items в контейнеры из объекта, возвращаемого методом ''getNearestContainers'''''.'''
| |
− | |-
| |
− | | style="width: 178px;" | '''putItemToContainer'''
| |
− | | style="width: 114px;" | item, container, side, maxCount
| |
− | | style="width: 458px;" |
| |
− | Добавляет стак предметов в контейнер.<br/> '''maxCount '''- максимальное количество предметов, которое может быть передано за раз (по умолчанию 64).
| |
− | | |
− | Возвращает количество переданных предметов.
| |
− | | |
− | |-
| |
− | | style="width: 178px;" | '''extractItemsFromContainer'''
| |
− | | style="width: 114px;" | inputСontainer , outputContainer, side, maxCount, oneStack
| |
− | | style="width: 458px;" |
| |
− | Позволяет извлечь предмет из контейнера и добавить его в tile entity или контейнер.<br/> '''inputStorage '''- TileEntity или контейнер, в который будут добавлены предметы<br/> '''outputContainer '''- контейнер, из которого будут извлечены предметы<br/> '''maxCount '''- сколько предметов может быть извлечено (по умолчанию не ограничено)<br/> '''oneStack '''- если true, то извлечёт только один стак предметов.
| |
− | | |
− | Возвращает количество переданных предметов.
| |
− | | |
− | |-
| |
− | | style="width: 178px;" | '''extractItemsFromStorage'''
| |
− | | style="width: 114px;" | inputStorage, outputStorage, side, maxCount, oneStack
| |
− | | style="width: 458px;" | Аналогичен предыдущему, но принимает аргументами интерфейсы хранилищ.
| |
− | |-
| |
− | | style="width: 178px;" | '''transportLiquid'''
| |
− | | style="width: 114px;" | liquid, maxAmount, outputStorage, inputStorage, outputSide
| |
− | | style="width: 458px;" |
| |
− | Передаёт жидкость из одного TileEntity в другой.<br/> '''liquid '''- название жидкости<br/> '''maxAmount '''- максимальное количество, которое будет передано<br/> '''outputStorage '''- интерфейс хранилища или TileEntity, из которого будет передана жидкость<br/> '''inputStorage '''- интерфейс хранилища, принимающего жидкость<br/> '''outputSide '''- сторона блока, через которую передаётся жидкость.
| |
− | | |
− | Возвращает количество переданной жидкости.
| |
| | | |
− | |-
| + | Данная библиотека совместима с модами, использующими старый стандарт описания слотов tile entity через функцию ''getTransportSlots'', а так же добавляет эту функцию и функцию ''addTransportedItem ''для tile entity при создании его интерфейса. |
− | | style="width: 178px;" | '''extractLiquid'''
| + | </div> </div> </div> </div> </div> </div> </div> </div> </div> |
− | | style="width: 114px;" | liquid, maxAmount, inputStorage, outputStorage, inputSide
| |
− | | style="width: 458px;" |
| |
− | Похож на предыдущий, но позволяет извлечь жидкость из TileEntity<br/> '''liquid '''- название жидкости. Если не указано, то извлечёт любую жидкость из ''outputStorage'', если она может быть принята в ''inputStorage.''<br/> '''inputStorage '''- интерфейс хранилища или TileEntity, принимающий жидкость<br/> '''outputStorage '''- интерфейс хранилища, из которого будет извлечена жидкость<br/> '''inputSide '''- сторона блока, которая будет принимать жидкость.
| |
− | | |
− | Возвращает количество переданной жидкости.
| |
− | | |
− | |-
| |
− | | style="width: 178px;" | '''checkHoppers'''
| |
− | | style="width: 114px;" | tileEntity
| |
− | | style="width: 458px;" | Позволяет TileEntity взаимодействовать с воронками. Для этого должен вызываться в функции тика TileEntity .
| |
− | |-
| |
− | | style="width: 178px;" | '''addItemToSlot'''
| |
− | | style="width: 114px;" | item, slot, maxCount
| |
− | | style="width: 458px;" |
| |
− | Добавляет стак предметов в слот. Изменяет только объект слота, для корректной работы требуется установить слот через ''container.setSlot.''<br/> '''maxCount '''- максимальное количество, которое будет передано в слот (по умолчанию 64).
| |
− | | |
− | Возвращает количество переданных предметов.
| |
− | | |
− | |}
| |
− | </div> </div> </div> </div> | |