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