Редактирование: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">
+
Данная библиотека для 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"><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">
 
== Загрузка ==
 
== Загрузка ==
  
Строка 8: Строка 9:
 
| style="width: 393px;" | Список изменений
 
| style="width: 393px;" | Список изменений
 
| style="width: 250px;" | Дата релиза
 
| style="width: 250px;" | Дата релиза
|-
 
| '''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'''
 
| '''9'''
Строка 80: Строка 58:
 
| style="width: 250px;" | 02.02.2020
 
| style="width: 250px;" | 02.02.2020
 
|}
 
|}
</div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div>  
+
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output">
 
== Импорт ==
 
== Импорт ==
  
Строка 86: Строка 64:
  
 
Для импорта библиотеки в мод в заголовочном файле (или если он отсутствует в первом файле кода) следует добавить строку:
 
Для импорта библиотеки в мод в заголовочном файле (или если он отсутствует в первом файле кода) следует добавить строку:
<pre>IMPORT("StorageInterface");
+
<pre>IMPORT("StorageInterface");</pre>
</pre>
+
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div>
 
 
 
== Интерфейсы хранилищ блоков ==
 
== Интерфейсы хранилищ блоков ==
  
Строка 117: Строка 94:
 
             }
 
             }
 
         },
 
         },
         // Все слоты с именем slot и индексами от 2 до 10 (slot2, ..., slot10).
+
         // Означает все слоты с индексами от 2 до 10 (slot2, slot3, ..., slot10).
 
         "slot^2-10": {
 
         "slot^2-10": {
 
             ...
 
             ...
Строка 123: Строка 100:
 
         ...
 
         ...
 
     },
 
     },
   liquidUnitRatio: 1, // количество вёдер жидкости в базовом юните жидкости
 
 
   // функции интерфейса
 
   // функции интерфейса
 
});</syntaxhighlight>
 
});</syntaxhighlight>
Строка 187: Строка 163:
 
| '''canTransportLiquid'''
 
| '''canTransportLiquid'''
 
| liquid, side
 
| liquid, side
| Может ли TileEntity отдать жидкость с именем ''liquid ''со стороны ''side''.&nbsp;По умолчанию возвращает true.
+
| Может ли TileEntity отдать жидкость с именем ''liquid ''со стороны ''side''.&nbsp;По умолчанию возвращает true если в liquidStorage установлен лимит для этой жидкости.
 
|-
 
|-
| '''receiveLiquid'''
+
| '''addLiquid'''
| liquidStorage, liquid, amount
+
| liquid, amount
|  
+
| Функция добавление жидкости. По умолчанию работает с liquidStorage.
Функция добавление жидкости в хранилище.<br/> '''liquidStorage'''&nbsp;- хранилище, принимающее жидкость<br/> '''liquid '''- название жидкости<br/> '''amount '''- количество жидкости
 
 
 
 
|-
 
|-
| '''extractLiquid'''
+
| '''getLiquid'''
| liquidStorage, liquid, amount
+
| liquid, amount
| Функция извлечения жидкости из хранилища.
+
| Функция извлечения жидкости.&nbsp;По умолчанию работает с liquidStorage.
 
|-
 
|-
| '''getInputTank'''
+
| '''getLiquidStored'''
| side
+
| storageName
 
|  
 
|  
Возвращает входное&nbsp;хранилище жидкости TileEntity. По умолчанию возвращает&nbsp;liquidStorage.<br/> '''side&nbsp;'''- сторона с которой будет производиться работа
+
Функция получения жидкости, хранящейся в tile entity. Позволяет возвращать разные жидкости для входа и выхода.<br/> '''storageName''' - "input" для получения жидкости на вход и "output" для жидкости на выход.
  
 
|-
 
|-
| '''getOutputTank'''
+
| '''getLiquidStorage'''
| side
+
| storageName
 
|  
 
|  
Возвращает выходное хранилище жидкости TileEntity.&nbsp;По умолчанию возвращает&nbsp;liquidStorage.<br/> '''side&nbsp;'''- сторона с которой будет производиться работа
+
Возвращает хранилище жидкости.&nbsp;По умолчанию возвращает liquidStorage из TileEntity. Позволяет использовать альтернативные&nbsp;хранилища жидкостей.<br/> '''storageName''' - "input" для хранилища, принимающего жидкость, и "output" для отдающего.
  
 
|}
 
|}
<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">В экземпляре интерфейса также есть следующие поля:</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, {
 
     slots: {
 
     slots: {
 
         "slotSource": {
 
         "slotSource": {
Строка 229: Строка 203:
 
         "slotResult": {output: true}
 
         "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">
+
</syntaxhighlight>
 +
</div> <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">
 
=== Методы для получения&nbsp;интерфесов хранилищ ===
 
=== Методы для получения&nbsp;интерфесов хранилищ ===
  
*'''StorageInterface.getInterface('''''container ''или ''tileEntity''''')''' - возвращает интерфейс хранилища для TileEntity или контейнера.  
+
*'''StorageInterface.newStorage('''''container ''или ''tileEntity''''')''' - возвращает новый интерфейс хранилища для TileEntity или контейнера.  
*'''StorageInterface.getStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс хранилища для контейнера на координатах
+
*'''StorageInterface.getStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс хранилища для блока, являющегося контейнером.
*'''StorageInterface.getLiquidStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс для TileEntity,&nbsp;хранящего жидкости,&nbsp;по&nbsp;координатам.  
+
*'''StorageInterface.getLiquidStorage('''''blockSource, x, y, z''''')''' - возвращает интерфейс хранилища, если на указанных координатах находится TileEntity с хранилищем жидкости.  
 
*'''StorageInterface.getNeighbourStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс хранилища для соседнего блока со стороны side.  
 
*'''StorageInterface.getNeighbourStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс хранилища для соседнего блока со стороны side.  
*'''StorageInterface.getNeighbourLiquidStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс для соседнего TileEntity, хранящего жидкости,&nbsp;со стороны side
+
*'''StorageInterface.getNeighbourLiquidStorage('''''blockSource, coords, side''''')''' - возвращает интерфейс хранилища для соседнего блока со стороны side,&nbsp;если там находится TileEntity с хранилищем жидкости.
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>  
+
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>  
 
== Остальные методы StorageInterface ==
 
== Остальные методы StorageInterface ==
  
Строка 307: Строка 282:
  
 
|}
 
|}
</div> </div> </div> </div>
 

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