Строка 1: | Строка 1: | ||
− | + | <div class="mw-parser-output"> | |
'''BackpackAPI '''- библиотека, позволяющая создавать рюкзаки. | '''BackpackAPI '''- библиотека, позволяющая создавать рюкзаки. | ||
− | + | <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"> | ||
== Загрузка == | == Загрузка == | ||
Строка 45: | Строка 38: | ||
| style="width: 127px; text-align: center" | 09.03.18 | | style="width: 127px; text-align: center" | 09.03.18 | ||
|} | |} | ||
− | </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> | ||
− | |||
== Условия использования == | == Условия использования == | ||
Строка 56: | Строка 46: | ||
Используя данный продукт вы автоматически соглашаетесь с этими правилами | Используя данный продукт вы автоматически соглашаетесь с этими правилами | ||
− | + | <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"> | ||
== Документация == | == Документация == | ||
Строка 87: | Строка 74: | ||
*''<u>inRow </u>''- количество слотов в ряду | *''<u>inRow </u>''- количество слотов в ряду | ||
*''<u>slotsCenter </u>''- центрировать ли слоты по ширине | *''<u>slotsCenter </u>''- центрировать ли слоты по ширине | ||
− | *<u>useExtraData</u> - использовать ExtraData для сохранения id контейнера рюкзака. | + | *''<u>useExtraData</u> ''- использовать ExtraData для сохранения id контейнера рюкзака. |
*<u>''items''</u>- массив предметов, которые можно положить в рюкзак. Описывается регулярными выражениями, айди или объектом с айди и датой (причем оба свойства могут быть заданы регуляркой) | *<u>''items''</u>- массив предметов, которые можно положить в рюкзак. Описывается регулярными выражениями, айди или объектом с айди и датой (причем оба свойства могут быть заданы регуляркой) | ||
Строка 145: | Строка 132: | ||
| Технический метод добавляет слотов в объект интерфейса | | Технический метод добавляет слотов в объект интерфейса | ||
|} | |} | ||
− | </div> </div> </div> | + | </div> </div> </div> </div> </div> </div> </div> </div> |
− | </div> | ||
− | </div> |
BackpackAPI - библиотека, позволяющая создавать рюкзаки.
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Для регистрации рюкзака необходимо использовать метод 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]$"}
]
});
Первым аргумент - айди предмета, при клике которым будет открываться интерфейс рюкзака. Второй - объект, который может содержать следующие поля:
В объекте можно объявить метод 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
});
Название | Аргументы | Описание |
openGuiFor | item, notUpdateData | Открывает интерфейс рюкзака. Если notUpdateData равен false и для переданной даты не зарегистрирован контейнер, в руку игрока установится новый предмет в дате или extra дате которого будет записан id нового контейнера. Возвращает id контейнера рюкзака. |
isBackpack | id | Возвращает истину, если предмет с переданным айди - рюкзак |
addSlotsToGui | gui, slots, isValidFunc, inRow, center, x, y | Технический метод добавляет слотов в объект интерфейса |