Открытие кастомного инвентаря

Версия Minecraft
1.12.2
516
11
39
Всем привет.Подскажите пж,как можно открывать свой кастомный инвентарь заместо ванильного.Заранее спасибо
 
Лови OpenGuiEvent
Уточняй event.gui instanceof GuiInventory
Потом отменяй эвент event.setCanceled(true)
И отправляй пакет на сервер в котором открываешь гуи

Вот так?
Java:
     @SideOnly(Side.CLIENT)
     @SubscribeEvent
     public void onGuiOpenEvent(GuiOpenEvent event)
     {
       if ((event.getGui() instanceof GuiInventory)){

                 event.setCanceled(true);
      
           NetworkHandler.network.sendToServer(new OpenInventoryMessage());
       }
     }
 
Перед отменой ивента ставь проверку , что ты не в креативе
Делаю вот так но вылетает

Java:
    EntityPlayer player = Minecraft.getMinecraft().player;
     @SideOnly(Side.CLIENT)
     @SubscribeEvent
     public void onGuiOpenEvent(GuiOpenEvent event)
     {

       if ((event.getGui() instanceof GuiInventory)){
           if (!player.capabilities.isCreativeMode) {
                 event.setCanceled(true);
      
           NetworkHandler.network.sendToServer(new OpenInventoryMessage());
       }
     }
     }
 
Java:
@SideOnly(Side.CLIENT)
     @SubscribeEvent
     public void onGuiOpenEvent(GuiOpenEvent event)
     {
       EntityClientPlayerMP player = FMLClientHandler.instance().getClient().thePlayer;
       if ((event.getGui() instanceof GuiInventory)){
           if (!player.capabilities.isCreativeMode) {
                 event.setCanceled(true);    
                 NetworkHandler.network.sendToServer(new OpenInventoryMessage());     
         }
     }
     }
 
Ещё бы не вылетало , что Это за игрок?
У тебя тот же игрок что и у него)0 Просто он сделал глобальную переменную, которая инициализировалась при создании ивентов, когда игрок еще null.
 
ну ответ то надо было дать, раз уж обьяснили, чо вы остановились то)
if (!Minecraft.getMinecraft().player.capabilities.isCreativeMode) {
 
Последнее редактирование:
Назад
Сверху