MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Nombre d'items dans l'inventaire

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    25 Messages 4 Publieurs 6.8k Vues 1 Watching
    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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      Essaie avec çà :

      int size = 0; // On initialise la variable
      InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory; // On récupère l'inventaire du joueur
      for (int i = 0; i < inv.getSizeInventory; i++) { // Boucle for
      if (inv.getStackInslot(i) != null && inv.getStackInSlot(i).getItem() == Items.emerald) size += inv.getStackInSlot(i).stackSize; // Si l'ItemStack à l'index n'est pas nul et que c'est bien une émeraude, alors on l'ajoute
      }
      
      

      Site web contenant mes scripts : http://SCAREXgaming.github.io

      Pas de demandes de support par MP ni par skype SVP.
      Je n'accepte sur skype que l…

      1 réponse Dernière réponse Répondre Citer 1
      • PlasManiaP Hors-ligne
        PlasMania
        dernière édition par

        Merci, ça marche a peu prés sauf que le nombre n’arrête pas d’augmenter tant que j’ai une émeraude dans l’inventaire 😕

        [EDIT]:
        C’est bon j’ai tous simplement réinitialiser la valeur à 0 à la fin de la fonction 😉

        1 réponse Dernière réponse Répondre Citer 0
        • PlasManiaP Hors-ligne
          PlasMania
          dernière édition par

          Juste, si quelqu’un sais comment faire pour utiliser

          InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory;
          

          avec l’ender Chest ?

          [EDIT]:
          J’ai trouver:

          ​InventoryEnderChest invEnderChest = Minecraft.getMinecraft().thePlayer.getInventoryEnderChest();
          
          1 réponse Dernière réponse Répondre Citer 0
          • PlasManiaP Hors-ligne
            PlasMania
            dernière édition par

            Je voudrais faire la même chose mais avec l’ender chest cependant quand je met:

            public int invEmeraldNumber;
            public int bankEmeraldNumber;
            
            @SubscribeEvent
            public void renderEmeraldsNumber(RenderGameOverlayEvent event)
            {
            InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory;
            InventoryEnderChest bank = Minecraft.getMinecraft().thePlayer.getInventoryEnderChest();
            
            for (int i = 0; i < inv.getSizeInventory(); i++) 
            {
            if (inv.getStackInSlot(i) != null && inv.getStackInSlot(i).getItem() == Items.emerald)
            bankEmeraldNumber += (inv.getStackInSlot(i).stackSize);
            }
            
            for (int i = 0; i < bank.getSizeInventory(); i++) 
            {
            if (bank.getStackInSlot(i) != null && bank.getStackInSlot(i).getItem() == Items.emerald)
            bankEmeraldNumber += (bank.getStackInSlot(i).stackSize);
            }
            
            Minecraft.getMinecraft().fontRenderer.drawString("Emeralds: " + invEmeraldNumber + " (" + bankEmeraldNumber + ")", 2, 2, 0xFFFFFF);
            
            invEmeraldNumber = 0;
            bankEmeraldNumber = 0;
            }
            }
            

            Ca ne marche pas :/, j’ai beau  avoir des emeraudes dans mon enderchest, le nombre entre parenthèse, reste à 0.

            1 réponse Dernière réponse Répondre Citer 0
            • SCAREXS Hors-ligne
              SCAREX
              dernière édition par

              Je comprends pas trop ce que tu veux faire, tu veux faire la même chose mais avec l’enderchest ?

              Site web contenant mes scripts : http://SCAREXgaming.github.io

              Pas de demandes de support par MP ni par skype SVP.
              Je n'accepte sur skype que l…

              1 réponse Dernière réponse Répondre Citer 0
              • PlasManiaP Hors-ligne
                PlasMania
                dernière édition par

                Oui exactement, j’ai mis mon code au dessus.

                1 réponse Dernière réponse Répondre Citer 0
                • SCAREXS Hors-ligne
                  SCAREX
                  dernière édition par

                  La fonction getInventoryEnderChest est publique, je vois pas où est le problème, mis à part qu’il faudrait utiliser un autre nom de variable dans la 2ème boucle.

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

                  1 réponse Dernière réponse Répondre Citer 0
                  • PlasManiaP Hors-ligne
                    PlasMania
                    dernière édition par

                    Normalement non, la variable de la boucle est seulement utilisé dans la boucle, donc ça devrais aller.

                    J’ai aussi testez la fonction:

                    ​inv.setInventorySlotContents();
                    ​bank.setInventorySlotContents();
                    

                    et dans l’inventaire, elle marche mais pas dans l’ender chest

                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREXS Hors-ligne
                      SCAREX
                      dernière édition par

                      Il me semble qu’il faut mettre à jour l’inventaire après avoir modifié des slots, car le joueur est seulement côté client.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

                      1 réponse Dernière réponse Répondre Citer 0
                      • PlasManiaP Hors-ligne
                        PlasMania
                        dernière édition par

                        Sauf que je ne veut pas modifier les slots moi, je veut juste savoir les items dans les slots dans l’ender chest

                        1 réponse Dernière réponse Répondre Citer 0
                        • SCAREXS Hors-ligne
                          SCAREX
                          dernière édition par

                          alors pourquoi tu veux utiliser setInventorySlotContents ?

                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                          Pas de demandes de support par MP ni par skype SVP.
                          Je n'accepte sur skype que l…

                          1 réponse Dernière réponse Répondre Citer 0
                          • PlasManiaP Hors-ligne
                            PlasMania
                            dernière édition par

                            Non, c’était juste pour testez

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

                              @‘PlasMania’:

                              Je voudrais faire la même chose mais avec l’ender chest cependant quand je met:

                              public int invEmeraldNumber;
                              public int bankEmeraldNumber;
                              
                              @SubscribeEvent
                              public void renderEmeraldsNumber(RenderGameOverlayEvent event)
                              {
                              InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory;
                              InventoryEnderChest bank = Minecraft.getMinecraft().thePlayer.getInventoryEnderChest();
                              
                              for (int i = 0; i < inv.getSizeInventory(); i++)
                              {
                              if (inv.getStackInSlot(i) != null && inv.getStackInSlot(i).getItem() == Items.emerald)
                              bankEmeraldNumber += (inv.getStackInSlot(i).stackSize);
                              }
                              
                              for (int i = 0; i < bank.getSizeInventory(); i++)
                              {
                              if (bank.getStackInSlot(i) != null && bank.getStackInSlot(i).getItem() == Items.emerald)
                              bankEmeraldNumber += (bank.getStackInSlot(i).stackSize);
                              }
                              
                              Minecraft.getMinecraft().fontRenderer.drawString("Emeralds: " + invEmeraldNumber + " (" + bankEmeraldNumber + ")", 2, 2, 0xFFFFFF);
                              
                              invEmeraldNumber = 0;
                              bankEmeraldNumber = 0;
                              }
                              }
                              

                              Ca ne marche pas :/, j’ai beau  avoir des emeraudes dans mon enderchest, le nombre entre parenthèse, reste à 0.

                              Utilise des variables local au lieu de reset sur 0 …

                              @SubscribeEvent
                              public void renderEmeraldsNumber(RenderGameOverlayEvent event)
                              {
                              int invEmeraldNumber = 0;
                              int bankEmeraldNumber = 0;
                              InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory;
                              InventoryEnderChest bank = Minecraft.getMinecraft().thePlayer.getInventoryEnderChest();
                              
                              for (int i = 0; i < inv.getSizeInventory(); i++)
                              {
                              if (inv.getStackInSlot(i) != null && inv.getStackInSlot(i).getItem() == Items.emerald)
                              bankEmeraldNumber += (inv.getStackInSlot(i).stackSize);
                              }
                              
                              for (int i = 0; i < bank.getSizeInventory(); i++)
                              {
                              if (bank.getStackInSlot(i) != null && bank.getStackInSlot(i).getItem() == Items.emerald)
                              bankEmeraldNumber += (bank.getStackInSlot(i).stackSize);
                              }
                              
                              Minecraft.getMinecraft().fontRenderer.drawString("Emeralds: " + invEmeraldNumber + " (" + bankEmeraldNumber + ")", 2, 2, 0xFFFFFF);
                              }
                              }
                              

                              à mon avis pour l’enderchest, ça ne fonctionne pas car temps que tu ne l’ouvre pas il est considéré comme vide côté client. Ouvre-le et regardes si la valeur change.

                              1 réponse Dernière réponse Répondre Citer 0
                              • PlasManiaP Hors-ligne
                                PlasMania
                                dernière édition par

                                Okai, merci pour la correction, et l’ouvrir ne change rien 😕

                                1 réponse Dernière réponse Répondre Citer 0
                                • SCAREXS Hors-ligne
                                  SCAREX
                                  dernière édition par

                                  Envoi le code de ton block + GuiHandler.

                                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                                  Pas de demandes de support par MP ni par skype SVP.
                                  Je n'accepte sur skype que l…

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

                                    Il y a au moins des émeraudes dans le coffre x) ?

                                    @‘SCAREX’:

                                    Envoi le code de ton block + GuiHandler.

                                    fail ?

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • PlasManiaP Hors-ligne
                                      PlasMania
                                      dernière édition par

                                      http://puu.sh/iG5hZ/18fdcb12fc.jpg

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • SCAREXS Hors-ligne
                                        SCAREX
                                        dernière édition par

                                        Robin -> euh oui, je me suis trompé de sujet : internet explorer sur windows phone fait un peu de la merde.

                                        Rajoute des logs pour savoir si à chaque fois le slot est vide.

                                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                                        Pas de demandes de support par MP ni par skype SVP.
                                        Je n'accepte sur skype que l…

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • PlasManiaP Hors-ligne
                                          PlasMania
                                          dernière édition par

                                          Voila, j’ai modifié de cette façon:

                                          for (int i = 0; i < bank.getSizeInventory(); i++) 
                                          {
                                          
                                          else if (bank.getStackInSlot(i) != null && bank.getStackInSlot(i).getItem() == Items.emerald)
                                          {
                                          bankEmeraldNumber += (bank.getStackInSlot(i).stackSize);
                                          System.out.println("Item: " + i);
                                          }
                                          
                                          else
                                          {
                                          System.out.println("No: " + i);
                                          }
                                          }
                                          

                                          Et sur la console, je n’est que des no:

                                          :::
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 0
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 1
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 2
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 3
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 4
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 5
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 6
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 7
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 8
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 9
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 10
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 11
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 12
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 13
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 14
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 15
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 16
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 17
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 18
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 19
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 20
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 21
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 22
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 23
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 24
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 25
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 26
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 0
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 1
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 2
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 3
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 4
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 5
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 6
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 7
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 8
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 9
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 10
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 11
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 12
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 13
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 14
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 15
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 16
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 17
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 18
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 19
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 20
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 21
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 22
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 23
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 24
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 25
                                          [22:43:04] [Client thread/INFO] [STDOUT]: [com.plasmania.wynnplus.events.EventManager:renderEmeraldsNumber:60]: No: 26
                                          :::

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

                                            Oui visiblement le contenu est toujours null.
                                            Je ne sais pas d’où ça vient.
                                            Il faudrait pouvoir lire la liste directement dans le tag du joueur, pas sûr que cela soit possible.

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB