BackpackAPI — различия между версиями

(Новая версия)
 
(не показаны 3 промежуточные версии 3 участников)
Строка 3: Строка 3:
 
<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"><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">
 
== Загрузка ==
 
== Загрузка ==
Строка 10: Строка 12:
 
| style="text-align: center" | Версия
 
| style="text-align: center" | Версия
 
| style="white-space: nowrap; width: 200px; text-align: center" | Ссылка
 
| style="white-space: nowrap; width: 200px; text-align: center" | Ссылка
| style="white-space: nowrap; width: 129px; text-align: center" | Список изменений
+
| style="white-space: nowrap; width: 294px; text-align: center;" | Список изменений
| style="white-space: nowrap; width: 127px; text-align: center" | Дата релиза
+
| style="white-space: nowrap; width: 153px; text-align: center;" | Дата релиза
 +
|-
 +
| style="text-align: center" | '''LATEST'''
 +
| style="white-space: nowrap; width: 200px; text-align: center" | [https://github.com/DDCompany/ICLibraries/releases/tag/backpack-api-v9 Скачать]
 +
| style="white-space: nowrap; width: 294px;" | &nbsp;
 +
| style="white-space: nowrap; width: 153px; text-align: center;" | -
 +
|-
 +
| style="text-align: center" | '''8'''
 +
| style="white-space: nowrap; width: 200px; text-align: center" | [https://github.com/DDCompany/ICLibraries/releases/tag/backpack-api-v8 Скачать]
 +
| style="white-space: nowrap; width: 294px;" | &nbsp;
 +
| style="white-space: nowrap; width: 153px; text-align: center;" | 15.05.20
 
|-
 
|-
 
| style="text-align: center" | '''7'''
 
| style="text-align: center" | '''7'''
 
| style="white-space: nowrap; width: 200px; text-align: center" | [https://github.com/DDCompany/ICLibraries/releases/tag/backpack-api-v7 Скачать]
 
| style="white-space: nowrap; width: 200px; text-align: center" | [https://github.com/DDCompany/ICLibraries/releases/tag/backpack-api-v7 Скачать]
| style="white-space: nowrap; width: 129px" | &nbsp;
+
| style="white-space: nowrap; width: 294px;" | &nbsp;
| style="white-space: nowrap; width: 127px; text-align: center" | 24.04.20
+
| style="white-space: nowrap; width: 153px; text-align: center;" | 24.04.20
 
|-
 
|-
 
| style="text-align: center" | '''6'''
 
| style="text-align: center" | '''6'''
 
| style="white-space: nowrap; width: 200px; text-align: center" | [https://yadi.sk/d/J94TU-NAg0DfaQ Скачать]
 
| style="white-space: nowrap; width: 200px; text-align: center" | [https://yadi.sk/d/J94TU-NAg0DfaQ Скачать]
| style="white-space: nowrap; width: 129px" | Добавлена поддержка сохранения id контейнера в extra data
+
| style="white-space: nowrap; width: 294px;" | Добавлена поддержка сохранения id контейнера в extra data
| style="white-space: nowrap; width: 127px; text-align: center" | 21.04.20
+
| style="white-space: nowrap; width: 153px; text-align: center;" | 21.04.20
 
|-
 
|-
 
| style="text-align: center" | '''5'''
 
| style="text-align: center" | '''5'''
 
| style="white-space: nowrap; width: 200px; text-align: center" | [https://yadi.sk/d/3UwUF1QpD7-T5g Скачать]
 
| style="white-space: nowrap; width: 200px; text-align: center" | [https://yadi.sk/d/3UwUF1QpD7-T5g Скачать]
| style="white-space: nowrap; width: 129px" | Исправлены баги, оптимизация кода
+
| style="white-space: nowrap; width: 294px;" | Исправлены баги, оптимизация кода
| style="white-space: nowrap; width: 127px; text-align: center" | 16.10.19
+
| style="white-space: nowrap; width: 153px; text-align: center;" | 16.10.19
 
|-
 
|-
 
| style="white-space: nowrap; width: 200px; text-align: center" | '''4'''
 
| style="white-space: nowrap; width: 200px; text-align: center" | '''4'''
 
| style="text-align: center" | [https://yadi.sk/d/fGqQqOp9UmF_qQ Скачать]
 
| style="text-align: center" | [https://yadi.sk/d/fGqQqOp9UmF_qQ Скачать]
| style="width: 129px" | Исправлены баги
+
| style="width: 294px;" | Исправлены баги
| style="width: 127px; text-align: center" | 11.09.19
+
| style="width: 153px; text-align: center;" | 11.09.19
 
|-
 
|-
 
| style="white-space: nowrap; width: 200px; text-align: center" | '''3'''
 
| style="white-space: nowrap; width: 200px; text-align: center" | '''3'''
 
| style="text-align: center" | [https://yadi.sk/d/zNFKHFwWtygALw Скачать]
 
| style="text-align: center" | [https://yadi.sk/d/zNFKHFwWtygALw Скачать]
| style="width: 129px" |  
+
| style="width: 294px;" |  
 
Новые свойства - items, title
 
Новые свойства - items, title
  
| style="width: 127px; text-align: center" | 10.09.19
+
| style="width: 153px; text-align: center;" | 10.09.19
 
|-
 
|-
 
| style="white-space: nowrap; width: 200px; text-align: center" | '''1'''
 
| style="white-space: nowrap; width: 200px; text-align: center" | '''1'''
 
| style="text-align: center" | [https://vk.com/forestry_pe?w=wall-149493963_1420/all Скачать]
 
| style="text-align: center" | [https://vk.com/forestry_pe?w=wall-149493963_1420/all Скачать]
| style="width: 129px" | Первая версия
+
| style="width: 294px;" | Первая версия
| style="width: 127px; text-align: center" | 09.03.18
+
| style="width: 153px; text-align: center;" | 09.03.18
 
|}
 
|}
</div> </div>
+
</div> </div> </div> </div>
 +
</div>
 +
</div>
  
 
== Условия использования ==
 
== Условия использования ==
Строка 55: Строка 69:
 
Используя данный продукт&nbsp;вы автоматически соглашаетесь с этими правилами
 
Используя данный продукт&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">
 
== Документация ==
 
== Документация ==
  
Строка 82: Строка 97:
 
*''<u>inRow&nbsp;</u>''- количество слотов в ряду  
 
*''<u>inRow&nbsp;</u>''- количество слотов в ряду  
 
*''<u>slotsCenter&nbsp;</u>''- центрировать ли слоты по ширине  
 
*''<u>slotsCenter&nbsp;</u>''- центрировать ли слоты по ширине  
*''<u>useExtraData</u>&nbsp;''- использовать ExtraData для сохранения id контейнера рюкзака.  
+
*''<u>kind</u>'' - определяет способ хранения уникального айди рюкзака. Может иметь значения BackpackKind.EXTRA и BackpackKind.META. Если установить первое значение, айди будет находиться в поле "__backpack_id" экстры, второе - в метаданных предмета
 
*<u>''items''</u>- массив предметов, которые&nbsp;можно положить в рюкзак. Описывается&nbsp;регулярными&nbsp;выражениями, айди или&nbsp;объектом с айди и датой (причем оба свойства могут быть заданы&nbsp;регуляркой)  
 
*<u>''items''</u>- массив предметов, которые&nbsp;можно положить в рюкзак. Описывается&nbsp;регулярными&nbsp;выражениями, айди или&nbsp;объектом с айди и датой (причем оба свойства могут быть заданы&nbsp;регуляркой)  
  
Строка 120: Строка 135:
 
});</syntaxhighlight>
 
});</syntaxhighlight>
 
<div class="mw-parser-output"><div class="mw-parser-output">
 
<div class="mw-parser-output"><div class="mw-parser-output">
=== Остальные методы ''BackpackRegistry'' ===
+
<div class="mw-parser-output">
 
+
=== &nbsp; ===
{| border="1" cellpadding="1" cellspacing="1" style="width: 1000px;"
+
</div>
|-
 
| style="text-align: center; width: 200px;" | Название
 
| style="text-align: center; width: 200px;" | Аргументы
 
| style="text-align: center;" | Описание
 
|-
 
| style="text-align: center;" | '''openGuiFor'''
 
| style="text-align: center;" | item, notUpdateData
 
| Открывает интерфейс рюкзака. Если ''notUpdateData ''равен false и для переданной даты не зарегистрирован контейнер, в руку игрока установится новый предмет в дате или extra дате которого будет записан id нового контейнера. Возвращает id контейнера рюкзака.
 
|-
 
| style="text-align: center;" | '''isBackpack'''
 
| style="text-align: center;" | id
 
| Возвращает истину, если предмет с переданным айди - рюкзак
 
|-
 
| style="text-align: center;" | '''addSlotsToGui'''
 
| style="text-align: center;" | gui, slots, isValidFunc, inRow, center, x, y
 
| Технический метод добавляет слотов в объект интерфейса
 
|}
 
</div> </div> </div> </div> </div> </div> </div> </div>
 

Текущая версия на 21:45, 15 октября 2020

BackpackAPI - библиотека, позволяющая создавать рюкзаки.

Загрузка[править]

Версия Ссылка Список изменений Дата релиза
LATEST Скачать   -
8 Скачать   15.05.20
7 Скачать   24.04.20
6 Скачать Добавлена поддержка сохранения id контейнера в extra data 21.04.20
5 Скачать Исправлены баги, оптимизация кода 16.10.19
4 Скачать Исправлены баги 11.09.19
3 Скачать

Новые свойства - items, title

10.09.19
1 Скачать Первая версия 09.03.18

Условия использования[править]

  • Запрещено распространение на сторонних источниках без указания ссылки на официальное сообщество
  • Запрещено изменение кода библиотеки
  • Запрещено явное копирование кода в другие библиотеки или моды 

Используя данный продукт вы автоматически соглашаетесь с этими правилами

Документация[править]

Для регистрации рюкзака необходимо использовать метод register из объекта BackpackRegistry, импортируемый из библиотеки

IMPORT("BackpackAPI");

IDRegistry.genItemID("backpackTest");
Item.createItem("backpackTest", "Test Backpack", {name: "backpackMiners", meta: 0}, {stack: 1});

BackpackRegistry.register(ItemID.backpackTest, {
    title: "My Backpack",
    slots: 80,
    slotsCenter: true,
    inRow: 10,
    items: [
        "^ore.+",
        "^ingot.+",
        1
        {id: 345, data: "^[1-3]$"}
    ]
});

Первым аргумент - айди предмета, при клике которым будет открываться интерфейс рюкзака. Второй - объект, который может содержать следующие поля:

  • title - заголовок окна
  • slots - количество слотов в рюкзаки
  • inRow - количество слотов в ряду
  • slotsCenter - центрировать ли слоты по ширине
  • kind - определяет способ хранения уникального айди рюкзака. Может иметь значения BackpackKind.EXTRA и BackpackKind.META. Если установить первое значение, айди будет находиться в поле "__backpack_id" экстры, второе - в метаданных предмета
  • items- массив предметов, которые можно положить в рюкзак. Описывается регулярными выражениями, айди или объектом с айди и датой (причем оба свойства могут быть заданы регуляркой)

В объекте можно объявить метод isValidItem(id, data, count), если он возвращает истину предмет перемещается в слот. Если его нет, будет задан стандартный, который разрешает перемещение всех предметов, описанных в массиве items, кроме других рюкзаков. В данном примере можно положить только камень:

BackpackRegistry.register(ItemID.backpackTest, {
    slots: 20,
    isValidItem: function (id, data, count) {
        return id === 1;
    }
});

Рюкзакам можно задавать кастомные интерфейсы, но в таком случае все поля описанные выше будут игнорироваться.

let gui = new UI.StandartWindow({
    standart: {
        header: {
            text: {
                text: "Custom Gui"
            }
        },
        inventory: {
            standart: true
        },
        background: {
            standart: true
        }
    },
    drawing: [],
    elements: {}
});

IDRegistry.genItemID("backpackTest");
Item.createItem("backpackTest", "Test Backpack", {name: "backpackMiners", meta: 0}, {stack: 1});

BackpackRegistry.register(ItemID.backpackTest, {
    gui: gui
});