InventoryUI (GitHub)

Ресурс пак для ваших игроков позволяющий добавлять кастомное ui сундуков как на джаве в items-adder на минималках . Сам ресурс пак нуждается в минимальных знаниях написания плагинов и их редактирования .
Показанный пример -

Автор (оригинальная страница)

Отличие Api
• Сундуки и другие блоки не размещаются.
• Если игрок получит урон , когда инвентарь открыт, инвентарь не закроется.
• Вы можете указать любое количество слотов в вашем инвентаре. (До 1000 подтверждено)
• Можно указать вертикальную длину слотов инвентаря. (макс. 6)

Добавление на сервер

Можете прочитать инструкцию которая здесь переведенна или же перейти на оригинальную страницу и прочитать инструкцию без перевода .
Добавление ресурс пака -
Скачиваем ресурс пак и закидаваем на сервер , открываем файл recource_pack.yml , ставим значение force_resources на true чтобы игроки обязательно скачивали дополнение в виде ресурс пака и в списке под resource_stack пишем наш ресурс пак под названием которое вы поставили на ресурс пак .
Вид кода (если вы не чего не поняли)

force_resources: true
resource_stack:
  - InventoryUIResourcePack.mcpack

Код для добавлении кастомного UI -

1 шаг

Следующий код должен быть вызван, когда плагин включен.

InventoryUI::setup($this)
2 шаг

Открытие кастомного инвентаря
$slot указывает количество слотов в инвентаре и должно быть числом больше нуля.
$title это название инвентаря.
$length вводится как вертикальная длина инвентаря. Если ноль, он автоматически корректируется.

/** @var Player $player */
$player->setCurrentWindow(new CustomInventory($slot, $title, $length));
3 шаг

Расширение для кастомного инвентаря

class SampleInventory extends CustomInventory {

    public function __construct() {
        parent::__construct(54, "Sample Inventory");
    }

    public function open(Player $player): void {
        // Открытие инвертаря.
    }

    public function tick(int $tick): void {
        //Вызывание тика когда кто то открывает инвентарь.
    }

    public function click(Player $player, int $slot, Item $sourceItem, Item $targetItem): bool {
        //Вызывается при работе слота в инвентаре.
        //Если возвращаемое значение истинно, операция отменяется.
        return false;
    }

    public function close(Player $player): void {
        //Вызывается, когда игрок закрывает инвентарь.
    }
}

Зачем это тебе?
Я незнаю , думай сам для чего это тебе . Я буду юзать для уменьшения инвентаря от лишнего места в интерфейсах сундуков на старых версиях

Для каких версий подходит?

спросите у автора я не гадалка , у меня лично все прекрасно работает на 1.18

Чекни api

Сори за дату)

Ты не гкодер (это я)

Ты некромант

для каких подошло?

1.17-1.19 это вроде