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.
    • PlasManiaP Hors-ligne
      PlasMania
      dernière édition par

      C’est ce à quoi j’avais penser, une boucle for qui test pour chaque slot si l’item est de l’emeraude, et si oui ajouter à une variable le nombre d’émeraudes, mais comment testez si l’item est de l’émeraude et savoir le nombre d’item dans un slot ?

      [EDIT]:
      J’ai trouver ça:

      ​emeraldNumber = Minecraft.getMinecraft().thePlayer.inventory.getStackInSlot(3);
      

      Si je m’et dans mon 4ème slot 5emeraudes j’ai:
      5xitem.emerald@0, y a t’il moyen de n’obtenir que le 5 ?

      1 réponse Dernière réponse Répondre Citer 0
      • 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
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB