Строка 123: | Строка 123: | ||
});</syntaxhighlight> | });</syntaxhighlight> | ||
+ | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Остальные методы ''BackpackRegistry'' === | === Остальные методы ''BackpackRegistry'' === | ||
Строка 133: | Строка 134: | ||
|- | |- | ||
| style="text-align: center;" | '''openGuiFor''' | | style="text-align: center;" | '''openGuiFor''' | ||
− | | style="text-align: center;" | | + | | style="text-align: center;" | item, notUpdateData |
− | | Открывает интерфейс рюкзака. Если ''notUpdateData ''равен false и для переданной даты не | + | | Открывает интерфейс рюкзака. Если ''notUpdateData ''равен false и для переданной даты не зарегистрирован контейнер, в руку игрока установится новый предмет в дате или extra дате которого будет записан ID нового контейнера. Возвращает ID контейнера рюкзака. |
|- | |- | ||
| style="text-align: center;" | '''isBackpack''' | | style="text-align: center;" | '''isBackpack''' | ||
Строка 145: | Строка 146: | ||
|} | |} | ||
− | </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 | Технический метод добавляет слотов в объект интерфейса |