Строка 23: | Строка 23: | ||
Используя данный продукт вы автоматически соглашаетесь с этими правилами | Используя данный продукт вы автоматически соглашаетесь с этими правилами | ||
+ | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
== Документация == | == Документация == | ||
Строка 33: | Строка 34: | ||
BackpackRegistry.register(ItemID.backpackTest, { | BackpackRegistry.register(ItemID.backpackTest, { | ||
+ | title: "My Backpack", | ||
slots: 80, | slots: 80, | ||
slotsCenter: true, | slotsCenter: true, | ||
− | inRow: 10 | + | inRow: 10, |
+ | items: [ | ||
+ | "^ore.+", | ||
+ | "^ingot.+", | ||
+ | 1 | ||
+ | {id: 345, data: "^[1-3]$"} | ||
+ | ] | ||
});</syntaxhighlight> | });</syntaxhighlight> | ||
Первым аргумент - айди предмета, при клике которым будет открываться интерфейс рюкзака. Второй - объект, который может содержать следующие поля: | Первым аргумент - айди предмета, при клике которым будет открываться интерфейс рюкзака. Второй - объект, который может содержать следующие поля: | ||
+ | *<u>''title''</u> - заголовок окна | ||
*''<u>slots </u>''- количество слотов в рюкзаки | *''<u>slots </u>''- количество слотов в рюкзаки | ||
*''<u>inRow </u>''- количество слотов в ряду | *''<u>inRow </u>''- количество слотов в ряду | ||
*''<u>slotsCenter </u>''- центрировать ли слоты по ширине | *''<u>slotsCenter </u>''- центрировать ли слоты по ширине | ||
+ | *<u>''items''</u>- массив предметов, которые можно положить в рюкзак. Описывается регулярными выражениями, айди или объектом с айди и датой (причем оба свойства могут быть заданы регуляркой) | ||
− | В объекте можно объявить метод '''''isValidItem(id, data, count)''''', если он возвращает истину предмет перемещается в слот. Если его нет, будет задан стандартный, который разрешает перемещение всех предметов, кроме других рюкзаков. В данном примере можно положить только камень: | + | В объекте можно объявить метод '''''isValidItem(id, data, count)''''', если он возвращает истину предмет перемещается в слот. Если его нет, будет задан стандартный, который разрешает перемещение всех предметов, описанных в массиве '''''items''''', кроме других рюкзаков. В данном примере можно положить только камень: |
<syntaxhighlight lang="Javascript">BackpackRegistry.register(ItemID.backpackTest, { | <syntaxhighlight lang="Javascript">BackpackRegistry.register(ItemID.backpackTest, { | ||
slots: 20, | slots: 20, | ||
Строка 100: | Строка 110: | ||
|} | |} | ||
− | | + | </div> |
</div> | </div> |
BackpackAPI - библиотека, позволяющая создавать рюкзаки.
Версия | Ссылка | Список изменений |
1 | Скачать | Первая версия |
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Для регистрации рюкзака необходимо использовать метод 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 | Течнический метод добавляет слотов в объект интерфейса |