Проверка кастомного слота

Версия Minecraft
1.12.2
85
3
3
У меня есть вот такой код ,который проверяет наличие предмета в кастомном слоте.
Java:
        EntityPlayer player = (EntityPlayer) entityLiving;
        ICAPCustomInventory cap = player.getCapability(CAPCustomInventoryProvider.INVENTORY_CAP, null);
        CustomInventory inv = cap.getInventory();

        if ( inv.getStackInSlot(1).getItem() == ItemRegister.CHESTPLATE3 ) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }

Проблема вот в чём ,после пере-захода в мир в консоль пишет "NO",но предмет в слоте есть.
Но после первого же открытия GUI в консоль пишет "YES".
Как можно это исправить ,что бы оно видело предмет в слоте даже если GUI не открывался ?

Кастомный инвентарь из этого тутора - Создание кастомного инвентаря игрока.
Помогите пожалуйста.
 
5,018
47
783
Еще сам слот тоже валидность иметь должен, т.е тебе надо новый extends Slot написать
 
7,099
324
1,510
Покажи код гуи и контейнера
 
3,005
192
592
После того, как игрок зашел - идет ли синхронизация инвентаря с клиентом?
Если нет, то это нормально.
Если да, то это странно.

(Хдд, ответ за Eifel, без обид :) )
 
85
3
3
Вобщем решил сразу 2 проблемы одной переменной.

Я сделал Boolean переменную игроку -"CHESTPLATE" и пакетами менял ее значение когда нужный Item лежит в кастомном слоте ,а так же сохранял переменную через NBT.

Значение переменной включало видимость частей моей брони.

  • после перезахода видимость брони не пропадает.
  • игроки видят броню на сервере.

Всем спасибо за помощь 🥰
 
Сверху