Строка 57: | Строка 57: | ||
Используя данный продукт вы автоматически соглашаетесь с этими правилами | Используя данный продукт вы автоматически соглашаетесь с этими правилами | ||
+ | <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"> | ||
Строка 86: | Строка 87: | ||
*''<u>inRow </u>''- количество слотов в ряду | *''<u>inRow </u>''- количество слотов в ряду | ||
*''<u>slotsCenter </u>''- центрировать ли слоты по ширине | *''<u>slotsCenter </u>''- центрировать ли слоты по ширине | ||
+ | *<u>useExtraData</u> - использовать ExtraData для сохранения id контейнера рюкзака. | ||
*<u>''items''</u>- массив предметов, которые можно положить в рюкзак. Описывается регулярными выражениями, айди или объектом с айди и датой (причем оба свойства могут быть заданы регуляркой) | *<u>''items''</u>- массив предметов, которые можно положить в рюкзак. Описывается регулярными выражениями, айди или объектом с айди и датой (причем оба свойства могут быть заданы регуляркой) | ||
Строка 122: | Строка 124: | ||
gui: gui | gui: gui | ||
});</syntaxhighlight> | });</syntaxhighlight> | ||
− | + | <div class="mw-parser-output"><div class="mw-parser-output"> | |
− | <div class="mw-parser-output"> | ||
− | <div class="mw-parser-output"> | ||
=== Остальные методы ''BackpackRegistry'' === | === Остальные методы ''BackpackRegistry'' === | ||
Строка 135: | Строка 135: | ||
| style="text-align: center;" | '''openGuiFor''' | | style="text-align: center;" | '''openGuiFor''' | ||
| style="text-align: center;" | item, notUpdateData | | style="text-align: center;" | item, notUpdateData | ||
− | | Открывает интерфейс рюкзака. Если ''notUpdateData ''равен false и для переданной даты не зарегистрирован контейнер, в руку игрока установится новый предмет в дате или extra дате которого будет записан | + | | Открывает интерфейс рюкзака. Если ''notUpdateData ''равен false и для переданной даты не зарегистрирован контейнер, в руку игрока установится новый предмет в дате или extra дате которого будет записан id нового контейнера. Возвращает id контейнера рюкзака. |
|- | |- | ||
| style="text-align: center;" | '''isBackpack''' | | style="text-align: center;" | '''isBackpack''' | ||
Строка 145: | Строка 145: | ||
| Технический метод добавляет слотов в объект интерфейса | | Технический метод добавляет слотов в объект интерфейса | ||
|} | |} | ||
− | + | </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 | Технический метод добавляет слотов в объект интерфейса |