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 | id, data, notUpdateData | Открывает интерфейс рюкзака. Если notUpdateData равен false и для переданной даты не заригестрирован контейнер, в руку игрока будет установлен новый предмет. Возвращает дату, которая может отличаться от переданной. |
isBackpack | id | Возвращает истину, если предмет с переданным айди - рюкзак |
addSlotsToGui | gui, slots, isValidFunc, inRow, center, x, y | Течнический метод добавляет слотов в объект интерфейса |