<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.mineprogramming.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.153.134.166&amp;*</id>
		<title>mineprogramming wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.mineprogramming.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.153.134.166&amp;*"/>
		<link rel="alternate" type="text/html" href="https://wiki.mineprogramming.org/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/95.153.134.166"/>
		<updated>2026-09-11T20:45:11Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.mineprogramming.org/index.php?title=InnerCore/Libs/BackpackAPI&amp;diff=2274</id>
		<title>InnerCore/Libs/BackpackAPI</title>
		<link rel="alternate" type="text/html" href="https://wiki.mineprogramming.org/index.php?title=InnerCore/Libs/BackpackAPI&amp;diff=2274"/>
				<updated>2019-09-11T15:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;95.153.134.166: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''BackpackAPI&amp;amp;nbsp;'''- библиотека, позволяющая создавать рюкзаки.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
== Загрузка ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width: 579px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Версия&lt;br /&gt;
| style=&amp;quot;white-space: nowrap; width: 200px; text-align: center;&amp;quot; | Ссылка&lt;br /&gt;
| style=&amp;quot;white-space: nowrap; width: 129px; text-align: center;&amp;quot; | Список изменений&lt;br /&gt;
| style=&amp;quot;white-space: nowrap; width: 127px; text-align: center;&amp;quot; | Дата релиза&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap; width: 200px; text-align: center;&amp;quot; | '''4'''&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | [https://yadi.sk/d/fGqQqOp9UmF_qQ Скачать]&lt;br /&gt;
| style=&amp;quot;width: 129px;&amp;quot; | Исправлены баги&lt;br /&gt;
| style=&amp;quot;width: 127px; text-align: center;&amp;quot; | 11.09.19&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap; width: 200px; text-align: center;&amp;quot; | '''3'''&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | [https://yadi.sk/d/zNFKHFwWtygALw Скачать]&lt;br /&gt;
| style=&amp;quot;width: 129px;&amp;quot; | &lt;br /&gt;
Новые свойства - items, title&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 127px; text-align: center;&amp;quot; | 10.09.19&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space: nowrap; width: 200px; text-align: center;&amp;quot; | '''1'''&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | [https://vk.com/forestry_pe?w=wall-149493963_1420/all Скачать]&lt;br /&gt;
| style=&amp;quot;width: 129px;&amp;quot; | Первая версия&lt;br /&gt;
| style=&amp;quot;width: 127px; text-align: center;&amp;quot; | 09.03.18&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Условия использования ==&lt;br /&gt;
&lt;br /&gt;
*Запрещено распространение на сторонних источниках без указания ссылки на официальное сообщество &lt;br /&gt;
*Запрещено изменение кода библиотеки &lt;br /&gt;
*Запрещено явное копирование кода в другие библиотеки или моды&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Используя данный продукт&amp;amp;nbsp;вы автоматически соглашаетесь с этими правилами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
== Документация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации рюкзака необходимо использовать метод '''''register&amp;amp;nbsp;'''''из объекта '''''BackpackRegistry''''', импортируемый из библиотеки&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;IMPORT(&amp;quot;BackpackAPI&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
IDRegistry.genItemID(&amp;quot;backpackTest&amp;quot;);&lt;br /&gt;
Item.createItem(&amp;quot;backpackTest&amp;quot;, &amp;quot;Test Backpack&amp;quot;, {name: &amp;quot;backpackMiners&amp;quot;, meta: 0}, {stack: 1});&lt;br /&gt;
&lt;br /&gt;
BackpackRegistry.register(ItemID.backpackTest, {&lt;br /&gt;
    title: &amp;quot;My Backpack&amp;quot;,&lt;br /&gt;
    slots: 80,&lt;br /&gt;
    slotsCenter: true,&lt;br /&gt;
    inRow: 10,&lt;br /&gt;
    items: [&lt;br /&gt;
        &amp;quot;^ore.+&amp;quot;,&lt;br /&gt;
        &amp;quot;^ingot.+&amp;quot;,&lt;br /&gt;
        1&lt;br /&gt;
        {id: 345, data: &amp;quot;^[1-3]$&amp;quot;}&lt;br /&gt;
    ]&lt;br /&gt;
});&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Первым аргумент - айди предмета, при клике которым будет открываться интерфейс рюкзака. Второй - объект, который может содержать следующие поля:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;u&amp;gt;''title''&amp;lt;/u&amp;gt; - заголовок окна &lt;br /&gt;
*''&amp;lt;u&amp;gt;slots&amp;amp;nbsp;&amp;lt;/u&amp;gt;''- количество слотов в рюкзаки &lt;br /&gt;
*''&amp;lt;u&amp;gt;inRow&amp;amp;nbsp;&amp;lt;/u&amp;gt;''- количество слотов в ряду &lt;br /&gt;
*''&amp;lt;u&amp;gt;slotsCenter&amp;amp;nbsp;&amp;lt;/u&amp;gt;''- центрировать ли слоты по ширине &lt;br /&gt;
*&amp;lt;u&amp;gt;''items''&amp;lt;/u&amp;gt;- массив предметов, которые&amp;amp;nbsp;можно положить в рюкзак. Описывается&amp;amp;nbsp;регулярными&amp;amp;nbsp;выражениями, айди или&amp;amp;nbsp;объектом с айди и датой (причем оба свойства могут быть заданы&amp;amp;nbsp;регуляркой) &lt;br /&gt;
&lt;br /&gt;
В объекте можно объявить метод '''''isValidItem(id, data, count)''''', если он возвращает истину предмет перемещается в слот. Если его нет, будет задан стандартный, который разрешает перемещение всех предметов, описанных в массиве&amp;amp;nbsp;'''''items''''',&amp;amp;nbsp;кроме других рюкзаков.&amp;amp;nbsp;В данном примере можно положить только камень:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&amp;gt;BackpackRegistry.register(ItemID.backpackTest, {&lt;br /&gt;
    slots: 20,&lt;br /&gt;
    isValidItem: function (id, data, count) {&lt;br /&gt;
        return id === 1;&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рюкзакам можно задавать кастомные интерфейсы, но в таком случае все поля описанные выше будут игнорироваться.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&amp;gt;let gui = new UI.StandartWindow({&lt;br /&gt;
    standart: {&lt;br /&gt;
        header: {&lt;br /&gt;
            text: {&lt;br /&gt;
                text: &amp;quot;Custom Gui&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        inventory: {&lt;br /&gt;
            standart: true&lt;br /&gt;
        },&lt;br /&gt;
        background: {&lt;br /&gt;
            standart: true&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    drawing: [],&lt;br /&gt;
    elements: {}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
IDRegistry.genItemID(&amp;quot;backpackTest&amp;quot;);&lt;br /&gt;
Item.createItem(&amp;quot;backpackTest&amp;quot;, &amp;quot;Test Backpack&amp;quot;, {name: &amp;quot;backpackMiners&amp;quot;, meta: 0}, {stack: 1});&lt;br /&gt;
&lt;br /&gt;
BackpackRegistry.register(ItemID.backpackTest, {&lt;br /&gt;
    gui: gui&lt;br /&gt;
});&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Остальные методы ''BackpackRegistry'' ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width: 1000px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; width: 200px;&amp;quot; | Название&lt;br /&gt;
| style=&amp;quot;text-align: center; width: 200px;&amp;quot; | Аргументы&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Описание&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | '''openGuiFor'''&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | id, data, notUpdateData&lt;br /&gt;
| Открывает интерфейс рюкзака. Если ''notUpdateData ''равен false и для переданной даты не заригестрирован контейнер, в руку игрока будет установлен новый предмет. Возвращает дату, которая может отличаться от переданной.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | '''isBackpack'''&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | id&lt;br /&gt;
| Возвращает истину, если предмет с переданным айди - рюкзак&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | '''addSlotsToGui'''&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | gui, slots, isValidFunc, inRow, center, x, y&lt;br /&gt;
| Течнический метод добавляет слотов в объект интерфейса&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.153.134.166</name></author>	</entry>

	</feed>