• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Ajouter un slot à l'inventaire du joueur

    1.8.x
    1.8.9
    2
    7
    1737
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Ama
      Ama dernière édition par

      Bonjoir à tous !

      Je viens mendier votre aide pour ajouter un slot à l’inventaire du joueur, voilà un long moment que je parcours les internets, ainsi que le fofo pour trouver réponse à ma question.

      Je sais que je dois passer par un IExtendEntityProperties, seulement je suis en 1.8.9, donc logiquement les cabapilities ? Mais je trouve rien de concret à ce niveau là non plus.

      Je sais aussi que je dois refaire le container, slot et gui, c’est évident ^^

      Si quelqu’un à un tel système en 1.8.9 de fonctionnel et voudrait bien m’éclairer la lanterne je suis preneur ! (Et pourquoi pas en faire un tuto !)

      Merci de votre aide !

      Si je t'ai filé un coup de main n'oublie pas le + / -
      Par contre évite les demandes d'aides en MP, tu sera sympa'

      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

      1 réponse Dernière réponse Répondre Citer 0
      • Ama
        Ama dernière édition par

        Aucune, idée de comment je pourrais procéder ? 😢

        Si je t'ai filé un coup de main n'oublie pas le + / -
        Par contre évite les demandes d'aides en MP, tu sera sympa'

        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

          Salut,
          Pour les capacities : https://www.minecraftforgefrance.fr/showthread.php?tid=3028
          Avec l’event OpenContainerEvent il y a peut-être moyen d’ajouter les slots sans modifier le container.
          Par contre le gui il faudra bien le remplacer ou le redessiner avec GuiScreenEvent.DrawScreenEvent

          1 réponse Dernière réponse Répondre Citer 0
          • Ama
            Ama dernière édition par

            OpenContainerEvent N’existe pas en 1.8.9

            Si je t'ai filé un coup de main n'oublie pas le + / -
            Par contre évite les demandes d'aides en MP, tu sera sympa'

            La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

            Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

              C’est PlayerOpenContainerEvent visiblement.

              1 réponse Dernière réponse Répondre Citer 0
              • Ama
                Ama dernière édition par

                J’ai essayé un code, sans doute pas du tout bon pour ajouter un slot, mais du coup, j’ai un OutOfBoundException à cause de la taille d’origine de l’inventaire

                @SubscribeEvent
                public void onOpenContainer(PlayerOpenContainerEvent event)
                {
                Container container = event.entityPlayer.inventoryContainer; 
                InventoryPlayer playerInventory = event.entityPlayer.inventory;
                InventoryCustomPlayer inventoryCustom = ExtendedPlayer.get(event.entityPlayer).inventory;
                Slot slotCustom = new SlotCustom(inventoryCustom, 0, 80,8);
                
                if(container instanceof ContainerPlayer && container != null)
                {
                ItemStack[] temp = new ItemStack[playerInventory.mainInventory.length + 10]; // censé augmenter la taille de l'inventaire de base
                
                  for (int i = 0; i < playerInventory.mainInventory.length; i++){
                     temp* = playerInventory.mainInventory*;
                  }
                  playerInventory.mainInventory = temp;
                
                container.inventorySlots.add(temp.length, slotCustom);
                }
                }
                

                Si je t'ai filé un coup de main n'oublie pas le + / -
                Par contre évite les demandes d'aides en MP, tu sera sympa'

                La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                1 réponse Dernière réponse Répondre Citer 0
                • robin4002
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                  Plutôt comme ça :

                  @SubscribeEvent
                  public void onOpenContainer(PlayerOpenContainerEvent event)
                  {
                  Container container = event.entityPlayer.openContainer;
                  InventoryPlayer playerInventory = event.entityPlayer.inventory;
                  InventoryCustomPlayer inventoryCustom = ExtendedPlayer.get(event.entityPlayer).inventory;
                  
                  if(container instanceof ContainerPlayer)
                  {
                  for(int i = playerInventory.getSizeInventory(); i < playerInventory.getSizeInventory() + inventoryCustom.getSizeInventory(); i++)
                  {
                  Slot s = new Slot(inventoryCustom, i, posX, posY); // à remplacer
                  s.slotNumber = container.inventorySlots.size();
                  container.inventorySlots.add(s);
                  container.inventoryItemStacks.add((ItemStack)null);
                  }
                  }
                  }
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • 1 / 1
                  • Premier message
                    Dernier message
                  Design by Woryk
                  Contact / Mentions Légales

                  MINECRAFT FORGE FRANCE © 2018

                  Powered by NodeBB