From 83e913d73cf459398fcac54bf3374ae011e54cef Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 19 Feb 2024 04:07:21 +0300 Subject: [PATCH] =?UTF-8?q?Updated=20=D0=A1=D0=BA=D1=80=D0=B8=D0=BF=D1=82?= =?UTF-8?q?=D0=B8=D0=BD=D0=B3=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Скриптинг.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/Скриптинг.md b/Скриптинг.md index ec0a401..e0c7c21 100644 --- a/Скриптинг.md +++ b/Скриптинг.md @@ -150,6 +150,60 @@ indentory_doc.some_button.text = "new text" В скрипте макета `layouts/файл_макета.xml` - `layouts/файл_макета.xml.lua` уже доступна переменная **document** содержащая объект класса Document +## Библиотека inventory (0.19) + +Библиотека функций для работы с инвентарем. + +```lua +inventory.get(invid: integer, slot: integer) -> integer, integer +``` + +Принимает id инвентаря и индекс слота. Возвращает id предмета и его количество. id = 0 (core:empty) обозначает, что слот пуст. + +```lua +inventory.set(invid: integer, slot: integer, itemid: integer, count: integer) +``` + +Устанавливает содержимое слота. + +```lua +inventory.size(invid: integer) -> integer +``` + +Возращает размер инвентаря (число слотов). Если указанного инвентаря не существует, бросает исключение. + +```lua +inventory.add(invid: integer, itemid: integer, count: integer) -> integer +``` + +Добавляет предмет в инвентарь. Если не удалось вместить все количество, возвращает остаток. + +```lua +inventory.get_block(x: integer, y: integer, z: integer) -> integer +``` + +Функция возвращает id инвентаря указанного блока. Если блок не может иметь инвентарь - возвращает 0. + +```lua +inventory.bind_block(invid: integer, x: integer, y: integer, z: integer) +``` + +Привязывает указанный инвентарь к блоку. + +```lua +inventory.unbind_block(x: integer, y: integer, z: integer) +``` + +Отвязывает инвентарь от блока. + +> [!WARNING] +> Инвентари, не привязанные ни к одному из блоков, удаляются при выходе из мира. + +```lua +inventory.clone(invid: integer) -> integer +``` + +Создает копию инвентаря и возвращает id копии. Если копируемого инвентаря не существует, возвращает 0. ## Библиотека hud (0.19) ```lua @@ -177,6 +231,11 @@ hud.open_permanent(layoutid: string) ``` Добавляет постоянный элемент на экран. Элемент не удаляется при закрытии инвентаря. Чтобы не перекрывать затенение в режиме инвентаря нужно установить z-index элемента меньшим чем -1. В случае тега inventory, произойдет привязка слотов к инвентарю игрока. + +```lua +hud.close(layoutid: string) +``` +Удаляет элемент с экрана ## События блоков ```lua