Редактирование:StorageInterface

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">Данная библиотека для Inner Core позволяет описать взаимодействие блоков с трубами, воронками и прочими предметами для транспортировки предметов и жидкостей с помощью&nbsp;интерфейсов хранилищ, а так же добавляет методы для извлечения и загрузки предметов и жидкостей. <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"><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 позволяет описать взаимодействие блоков с трубами, воронками и прочими предметами для транспортировки предметов и жидкостей с помощью&nbsp;интерфейсов хранилищ, а так же добавляет методы для извлечения и загрузки предметов и жидкостей.
 +
<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">
 
== Загрузка ==
 
== Загрузка ==
  
Строка 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;" |
 
*Библиотека поддерживает&nbsp;предметы с отрицательными ид
 
*В интерфейс хранилища добавлены следующие поля:<br/> -&nbsp;liquidUnitRatio<br/> -&nbsp;getInputTank(side)<br/> -&nbsp;getOutputTank(side)<br/> -&nbsp;receiveLiquid(liquidStorage, liquid, amount)<br/> -&nbsp;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/> -&nbsp;getInputSlots(side)<br/> -&nbsp;getReceivingItemCount(item, side)<br/> -&nbsp;addItemToSlot(name, item, maxCount)<br/> -&nbsp;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;" |
 
*Поддержка мультиплеера
 
*Добавлены стандартные интерфейсы для всех видов контейнеров
 
*Добавлены методы для получение интерфейсов хранилищ
 
*Добавлены методы для установки валидации предметов и макс стака&nbsp;слотов в ItemContainer
 
 
 
| style="width: 250px;" | 10.12.2020
 
|-
 
| '''7'''
 
| style="text-align: center; width: 36px;" | -
 
| style="width: 393px;" |
 
- В описании слота в интерфейсе хранилища теперь можно указать стороны, через которые с ним можно взаимодействовать
 
 
 
| style="width: 250px;" | 10.06.2020
 
 
|-
 
|-
 
| '''6'''
 
| '''6'''
| style="width: 36px;" | [https://yadi.sk/d/TITakdpdsjIGug Скачать]
+
| [https://yadi.sk/d/TITakdpdsjIGug Скачать]
| style="width: 393px;" | - Библиотека обновлена на InnerCore для Horizon: добавлена поддержка новых ванильных контейнеров.
+
| style="width: 280px;" | - Библиотека обновлена на InnerCore для Horizon: добавлена поддержка новых ванильных контейнеров.
| style="width: 250px;" | 18.04.2020
+
| style="width: 350px;" | 18.04.2020
 
|-
 
|-
 
| '''5'''
 
| '''5'''
| style="width: 36px;" | [https://yadi.sk/d/Om5TRGdlhylfQA Скачать]
+
| [https://yadi.sk/d/Om5TRGdlhylfQA Скачать]
| style="width: 393px;" | - Исправлена ошибка взаимодействия с tile entity без интерфейса хранилища в методе StorageInterface.transportLiquid
+
| style="width: 280px;" | - Исправлена ошибка взаимодействия с tile entity без интерфейса хранилища в методе StorageInterface.transportLiquid
| style="width: 250px;" | 09.03.2020
+
| style="width: 350px;" | 09.03.2020
 
|-
 
|-
 
| '''4'''
 
| '''4'''
| style="width: 36px;" | [https://yadi.sk/d/1gBu4a-fEme-jA Скачать]
+
| [https://yadi.sk/d/1gBu4a-fEme-jA Скачать]
| style="width: 393px;" |  
+
| style="width: 280px;" |  
*Улучшена работа с жидкостями  
+
- Улучшена работа с жидкостями<br/> - В интерфейс добавлено поле liquidStorage
*В интерфейс добавлено поле liquidStorage  
 
  
| style="width: 250px;" | 05.03.2020
+
| style="width: 350px;" | 05.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">&nbsp;</div> </div> </div> </div> </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"><div class="mw-parser-output">
 
== Интерфейсы хранилищ блоков ==
 
== Интерфейсы хранилищ блоков ==
  
Интерфейсы хранилищ объединяют в себе функции для работы с контейнерами и хранилищем жидкости и позволяют описать логику передачи предметов и жидкостей. В библиотеке есть стандартные интерфейсы для ванильных контейнеров и TileEntity, но вы можете зарегистрировать свой собственный для вашего TileEntity.
+
На данный момент интерфейсы привязываются только к tile entity, но в будущем по умолчанию интерфейсы будут прописаны у контейнеров из Майнкрафта, прежде всего печки.
<div class="mw-parser-output"><div class="mw-parser-output">
 
=== Регистрация интерфейса&nbsp;хранилища ===
 
 
 
''StorageInterface.createInterface(id блока, прототип интерфейса).''
 
  
Все параметры слотов и функции прототипа интерфейса опциональны.<br/> Прототип интерфейса выглядит так:
+
Интерфейс для хранилища добавляется с помощью метода&nbsp;''StorageInterface.createInterface(id блока, объект интерфейса).''<br/> Регистрация слотов в интерфейсе выглядит так:
 
<syntaxhighlight lang="JavaScript">StorageInterface.createInterface(id блока, {
 
<syntaxhighlight lang="JavaScript">StorageInterface.createInterface(id блока, {
 
     slots: {
 
     slots: {
 
         "slot1": {
 
         "slot1": {
             input: boolean, // может ли слот принимать предметы
+
             input: true/false, // может ли слот принимать предметы
             output: boolean, // может ли слот отдавать предметы
+
             output: true/false, // может ли слот отдавать предметы
             // Сторона блока, через которую доступен слот.
+
             isValid: function(item, side, tileEntity){ // может ли слот принять предмет item со стороны side
            // Значение - число или одна из настроек: "horizontal", "verctical", "down", "up".
+
                 return true/false;
            side: int | string,
 
            // Максимальное количество предметов в слоте
 
           maxStack: int,
 
            // Может ли слот принять предмет item со стороны side
 
            isValid: function(item, side, tileEntity) {
 
                 return boolean;
 
 
             },
 
             },
             // Можно ли извлечь предмет из слота (item - предмет в слоте)
+
             canOutput: function(item, side, tileEntity){ // можно ли извлечь предмет из слота (item - предмет в слоте)
            canOutput: function(item, side, tileEntity) {
+
                 return true/false;
                 return boolean;
 
 
             }
 
             }
 
         },
 
         },
         // Все слоты с именем slot и индексами от 2 до 10 (slot2, ..., slot10).
+
         "slot2": {
        "slot^2-10": {
 
 
             ...
 
             ...
 
         },
 
         },
 
         ...
 
         ...
     },
+
     }
   liquidUnitRatio: 1, // количество вёдер жидкости в базовом юните жидкости
 
   // функции интерфейса
 
 
});</syntaxhighlight>
 
});</syntaxhighlight>
</div> </div>
 
=== <br/> Функции интерфейса хранилища ===
 
  
Интерфейс хранилища обладает следующими функциями. Вы можете заменить их на свои в прототипе интерфейса при регистрации.
+
<br/> Так же интерфейс хранилища обладает следующими функциями, которые могут быть перезаписаны в объекте интерфейса:
  
 
{| border="1" cellpadding="1" cellspacing="1"
 
{| border="1" cellpadding="1" cellspacing="1"
Строка 136: Строка 72:
 
| Аргументы
 
| Аргументы
 
| Описание
 
| Описание
|-
 
| '''getSlot'''
 
| name
 
| Возвращает слот контейнера.
 
|-
 
| '''setSlot'''
 
| name, id, count, data, extra
 
| Устанавливает предмет в слот контейнера.
 
 
|-
 
|-
 
| '''isValidInput'''
 
| '''isValidInput'''
Строка 151: Строка 79:
 
| '''addItem'''
 
| '''addItem'''
 
| item, side, maxCount
 
| item, side, maxCount
| Функция добавления предмета. Возвращает количество добавленных предметов.
+
| Функция добавления предмета, может быть перезаписана. Возвращает количество добавленных предметов.
|-
 
| '''addItemToSlot'''
 
| name, item, maxCount
 
| Добавляет предмет в слот контейнера, maxCount - максимальное количество предмета, которое будет добавлено.
 
|-
 
|
 
'''getReceivingItemCount'''
 
 
 
| item, side
 
| Возвращает сколько предметов из стака контейнер может принять.
 
|-
 
|
 
'''getContainerSlots'''
 
 
 
| -
 
| Возвращает все слоты контейнера
 
|-
 
| '''getInputSlots'''
 
| side
 
| Возвращяет названия слотов входа,&nbsp;доступных со стороны ''side''.
 
 
|-
 
|-
 
| '''getOutputSlots'''
 
| '''getOutputSlots'''
 
| side
 
| side
| Возвращает названия слотов выхода,&nbsp;доступных со стороны ''side''.
+
| Возвращяет слоты выхода, с которыми возможна работа с определённой стороны.
|-
 
| '''clearContainer'''
 
| -
 
| Очищает содержимое контейнера
 
 
|-
 
|-
 
| '''canReceiveLiquid'''
 
| '''canReceiveLiquid'''
 
| liquid, side
 
| liquid, side
| Может ли&nbsp;TileEntity принять жидкость с именем ''liquid ''со стороны ''side''. По умолчанию возвращает true если в liquidStorage установлен лимит для этой жидкости.
+
| Может ли tile entity принять жидкость с именем ''liquid ''со стороны ''side''. По умолчанию возвращает false.
 
|-
 
|-
 
| '''canTransportLiquid'''
 
| '''canTransportLiquid'''
 
| liquid, side
 
| liquid, side
| Может ли TileEntity отдать жидкость с именем ''liquid ''со стороны ''side''.&nbsp;По умолчанию возвращает true.
+
| Может ли tile entity отдать жидкость с именем ''liquid ''со стороны ''side''.&nbsp;По умолчанию возвращает false.
 
|-
 
|-
| '''receiveLiquid'''
+
| '''addLiquid'''
| liquidStorage, liquid, amount
+
| liquid, amount
|  
+
| Функция добавление жидкости. По умолчанию работает с liquidStorage.
Функция добавление жидкости в хранилище.<br/> '''liquidStorage'''&nbsp;- хранилище, принимающее жидкость<br/> '''liquid '''- название жидкости<br/> '''amount '''- количество жидкости
 
 
 
|-
 
| '''extractLiquid'''
 
| liquidStorage, liquid, amount
 
| Функция извлечения жидкости из хранилища.
 
 
|-
 
|-
| '''getInputTank'''
+
| '''getLiquid'''
| side
+
| liquid, amount
|  
+
| Функция извлечения жидкости.&nbsp;По умолчанию работает с liquidStorage.&nbsp;В функциях StorageInterface для передачи жидкости сначала извлекается весь возможный объём жидкости, а потом функция вызывается повторно с отрицательным ''amount&nbsp;''для возвращения жидкости, которую не удалось передать.
Возвращает входное&nbsp;хранилище жидкости TileEntity. По умолчанию возвращает&nbsp;liquidStorage.<br/> '''side&nbsp;'''- сторона с которой будет производиться работа
 
 
 
 
|-
 
|-
| '''getOutputTank'''
+
| '''getLiquidStored'''
| side
+
| storage, side
|  
+
| Функция получения жидкости, хранящейся в tile entity. В функциях StorageInterface аргумент ''storage&nbsp;''равен ''"input" ''если проверяется жидкость для добавления, и''"output"'' если для извлечения.
Возвращает выходное хранилище жидкости TileEntity.&nbsp;По умолчанию возвращает&nbsp;liquidStorage.<br/> '''side&nbsp;'''- сторона с которой будет производиться работа
 
 
 
 
|}
 
|}
<div class="mw-parser-output"><br/> В экземпляре интерфейса также есть следующие поля:</div> <div class="mw-parser-output">''isNativeContainer ''- true если контейнер является ванильным, false если&nbsp;из TileEntity.</div> <div class="mw-parser-output">''container ''- контейнер;<br/> ''tileEntity ''- если создан для TileEntity.</div> <div class="mw-parser-output">&nbsp;</div> <div class="mw-parser-output">Регистрация интерфейса для TileEntity&nbsp;на примере железной печки из мода IndustrialCraft 2</div> <syntaxhighlight lang="JavaScript">StorageInterface.createInterface(BlockID.ironFurnace, {
+
<div class="mw-parser-output">&nbsp;</div> <div class="mw-parser-output">Интерфейс хранилища&nbsp;сохраняется в поле ''interface ''объекта&nbsp;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">&nbsp;</div> <div class="mw-parser-output">Добавление интерфейса для tile entity на примере железной печки из мода IndustrialCraft 2</div> <syntaxhighlight lang="JavaScript">StorageInterface.createInterface(BlockID.ironFurnace, {
 
     slots: {
 
     slots: {
 
         "slotSource": {
 
         "slotSource": {
 
             input: true,
 
             input: true,
            side: "up",
 
 
             isValid: function(item, side){
 
             isValid: function(item, side){
                 return Recipes.getFurnaceRecipeResult(item.id, "iron");
+
                 return side != 0 && Recipes.getFurnaceRecipeResult(item.id, "iron");
 
             }
 
             }
 
         },
 
         },
 
         "slotFuel": {
 
         "slotFuel": {
             input: true,
+
             input: true,  
            side: "horizontal",
 
 
             isValid: function(item, side){
 
             isValid: function(item, side){
                 return Recipes.getFuelBurnDuration(item.id, item.data) > 0;
+
                 return side != 1 && Recipes.getFuelBurnDuration(item.id, item.data) > 0;
 
             }
 
             }
 
         },
 
         },
Строка 230: Строка 122:
 
     }
 
     }
 
});</syntaxhighlight>
 
});</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">
+
</div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div>  
=== Методы для получения&nbsp;интерфесов хранилищ ===
+
== Методы для передачи предметов и жидкостей ==
 
 
*'''StorageInterface.getInterface('''''container ''или ''tileEntity''''')''' - возвращает интерфейс хранилища для TileEntity или контейнера.
 
*'''StorageInterface.getStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс хранилища для контейнера на координатах
 
*'''StorageInterface.getLiquidStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс для TileEntity,&nbsp;хранящего жидкости,&nbsp;по&nbsp;координатам.
 
*'''StorageInterface.getNeighbourStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс хранилища для соседнего блока со стороны side.
 
*'''StorageInterface.getNeighbourLiquidStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс для соседнего TileEntity, хранящего жидкости,&nbsp;со стороны side
 
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>  
 
== Остальные методы StorageInterface ==
 
  
 
{| border="1" cellpadding="1" cellspacing="1"
 
{| border="1" cellpadding="1" cellspacing="1"
 
|-
 
|-
| style="width: 178px;" | Название
+
| Название
| style="width: 114px;" | Аргументы
+
| Аргументы
| style="width: 458px;" | Описание
+
| Описание
 
|-
 
|-
| style="width: 178px;" | '''getNearestContainers'''
+
| '''getNearestContainers'''
| style="width: 114px;" | coords, blockSource
+
| coords, side, sideExcluded
| style="width: 458px;" | Возвращает соседние контейнеры относительно блока на координатах ''coords ''в виде объекта, где ключами являются стороны блока.
+
| Возвращает соседние с блоком на координатах ''coords ''контейнеры в виде массива. Если указан параметр ''side'', то вернёт контейнер с этой стороны. Если ''sideExcluded ''равен ''true'', то наоборот, все контейнеры кроме контейнера с указанной стороны.
 
|-
 
|-
| style="width: 178px;" | '''getNearestLiquidStorages'''
+
| '''getNearestLiquidStorages'''
| style="width: 114px;" | coords, blockSource
+
| coords, side, sideExcluded
| style="width: 458px;" | Работает аналогично предыдущему, но возвращает интерфейсы хранилищ для всех соседних TileEntity, имеющих хранилища жидкостей.
+
| Аналогична предыдущей, но возвращает все соседние tile entity, имеющие хранилища жидкостей.
 
|-
 
|-
| style="width: 178px;" | '''putItems'''
+
| '''putItems'''
| style="width: 114px;" | items, containers
+
| items, containers
| style="width: 458px;" | Добавляет предметы из массива items в контейнеры из объекта, возвращаемого методом&nbsp;''getNearestContainers'''''.'''
+
| Добавляет предметы из массива items в контейнеры из массива containers. Удобно использовать в связке с методом&nbsp;''getNearestContainers'''''.'''
 
|-
 
|-
| style="width: 178px;" | '''putItemToContainer'''
+
| '''putItemToContainer'''
| style="width: 114px;" | item, container, side, maxCount
+
| item, container, side, maxCount
| style="width: 458px;" |
+
| Метод более низкого уровня, на котором основана работа предыдущего метода. Добавляет стак предметов в контейнер, но позволяет также указать максимальное количество предметов, которое может быть передано за раз.
Добавляет стак предметов в контейнер.<br/> '''maxCount '''- максимальное количество предметов, которое может быть передано за раз&nbsp;(по умолчанию 64).
 
 
 
Возвращает количество переданных предметов.
 
 
 
 
|-
 
|-
| style="width: 178px;" | '''extractItemsFromContainer'''
+
| '''extractItemsFromContainer'''
| style="width: 114px;" | inputСontainer , outputContainer, side, maxCount, oneStack
+
| inputTile, container, side, maxCount, oneStack
| style="width: 458px;" |  
+
|  
Позволяет извлечь предмет из контейнера и добавить его в tile entity или контейнер.<br/> '''inputStorage&nbsp;'''- TileEntity или контейнер, в который будут добавлены предметы<br/> '''outputContainer '''- контейнер, из которого будут извлечены предметы<br/> '''maxCount '''- сколько предметов может быть извлечено (по умолчанию не ограничено)<br/> '''oneStack '''- если true, то извлечёт&nbsp;только один стак предметов.
+
Позволяет извлечь предмет из контейнера и добавить его в tile entity.<br/> '''inputTile&nbsp;'''- tile entity, в который будут добавлены предметы<br/> '''container '''- контейнер, из которого будут извлечены предметы<br/> '''maxCount '''- ограничение на количество извлекаемых предметов (по умолчанию нет)<br/> '''oneStack '''- если true, то будет извлечён только один стак предметов.
 
 
Возвращает количество переданных предметов.
 
  
 
|-
 
|-
| style="width: 178px;" | '''extractItemsFromStorage'''
+
| '''transportLiquid'''
| style="width: 114px;" | inputStorage, outputStorage, side, maxCount, oneStack
+
| liquid, maxAmount, outputTile, inputTile, outputSide
| style="width: 458px;" | Аналогичен предыдущему, но принимает аргументами интерфейсы хранилищ.
+
|  
|-
+
Передаёт жидкость из одного tile entity в другой.<br/> '''liquid&nbsp;'''- название жидкости<br/> '''maxAmount&nbsp;'''- максимальное количество, которое будет передано<br/> '''outputTile&nbsp;'''- tile entity, из которого будет передана жидкость<br/> '''inputTile&nbsp;'''- tile entity, в который будет передана жидкость<br/> '''outputSide&nbsp;'''- сторона, через которую передаётся жидкость
| style="width: 178px;" | '''transportLiquid'''
 
| style="width: 114px;" | liquid, maxAmount, outputStorage, inputStorage, outputSide
 
| style="width: 458px;" |  
 
Передаёт жидкость из одного TileEntity в другой.<br/> '''liquid&nbsp;'''- название жидкости<br/> '''maxAmount&nbsp;'''- максимальное количество, которое будет передано<br/> '''outputStorage&nbsp;'''- интерфейс хранилища или TileEntity, из которого будет передана жидкость<br/> '''inputStorage&nbsp;'''- интерфейс хранилища, принимающего жидкость<br/> '''outputSide&nbsp;'''- сторона блока, через которую передаётся жидкость.
 
 
 
Возвращает количество переданной жидкости.
 
  
 
|-
 
|-
| style="width: 178px;" | '''extractLiquid'''
+
| '''extractLiquid'''
| style="width: 114px;" | liquid, maxAmount, inputStorage, outputStorage, inputSide
+
| liquid, maxAmount, inputTile, outputTile, inputSide
| style="width: 458px;" |  
+
|  
Похож на предыдущий, но позволяет извлечь жидкость из TileEntity<br/> '''liquid '''- название жидкости. Если не указано, то извлечёт любую жидкость&nbsp;из&nbsp;''outputStorage'',&nbsp;если она может быть принята в&nbsp;''inputStorage.''<br/> '''inputStorage&nbsp;'''- интерфейс хранилища или TileEntity,&nbsp;принимающий жидкость<br/> '''outputStorage&nbsp;'''- интерфейс хранилища, из которого будет извлечена жидкость<br/> '''inputSide '''- сторона блока, которая будет принимать жидкость.
+
Похож на предыдущий, но позволяет извлечь жидкость из tile entity<br/> '''liquid '''- в отличие от предыдущего метода жидкость может быть не указана, тогда извлечёт жидкость, которая хранится в&nbsp;''outputTile''.<br/> '''inputSide '''- сторона, в&nbsp;которую будет поступать жидкость
 
 
Возвращает количество переданной жидкости.
 
  
 
|-
 
|-
| style="width: 178px;" | '''checkHoppers'''
+
| '''checkHoppers'''
| style="width: 114px;" | tileEntity
+
| tileEntity
| style="width: 458px;" | Позволяет TileEntity взаимодействовать с воронками. Для этого должен вызываться в функции тика TileEntity .
+
| Позволяет tile entity взаимодействовать с воронками. Для этого должна выполняться в функции тика tile entity. Требует интерфейса хранилища у tile entity для работы.
 
|-
 
|-
| style="width: 178px;" | '''addItemToSlot'''
+
| '''addItemToSlot'''
| style="width: 114px;" | item, slot, maxCount
+
| item, slot, count
| style="width: 458px;" |
+
| Внутренний метод библиотеки для добавления предмета в слот. При использовании на нативном контейнере нужно также установить слот, используя&nbsp;''container.setSlot.''
Добавляет стак предметов&nbsp;в слот. Изменяет только объект слота, для корректной работы требуется установить слот через&nbsp;''container.setSlot.''<br/> '''maxCount '''- максимальное количество, которое будет передано в слот&nbsp;(по умолчанию 64).
+
|}
 +
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div>
 +
== Обратная совместимость ==
  
Возвращает количество переданных предметов.
+
Данная библиотека совместима с модами, использующими старый стандарт описания слотов tile entity&nbsp;через функцию&nbsp;''getTransportSlots'', а так же&nbsp;добавляет эту функцию&nbsp;и функцию ''addTransportedItem ''для tile entity при создании его интерфейса.
 
+
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>
|}
 
</div> </div> </div> </div>
 

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. Mineprogramming wiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!