• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Si dans l'inventaire alors

    1.7.x
    1.7.10
    4
    14
    3090
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Kujaroth
      Kujaroth last edited by

      Salut salut !

      J’ai un petit soucis, j’ai crée 4 items (casque, plastron, botte et pantalon), si j’équipe 2 items de cette panoplie je gagne un bonus, si j’ai les 4, un meilleur bonus.

      Pour cela, j’utilise une variable “bonusSet” qui est soit égale a 2, soit a 4. J’aimerai faire en sorte que quand cette item n’est plus équipé (donc dans l’inventaire), cette variable se met a 0.

      J’utilise un “addInformation” qui affiche le bonus celons le nombre de pièce du set d’équipé. Le soucis est donc que, quand je remet l’item dans l’inventaire, après avoir équipé 2 ou 4 items, le “addInformation” affiche le bonus de 2 ou 4, or, j’aimerai qu’il affiche aucun bonus, pour cela, je dois rendre la variable bonusSet égale a 0.

      Tout ses items se trouve dans la même classe.

      T’en que j’y suis, vue que j’ai mes quatre items dans la même classe, comment faire pour “diviser” la fonction suivante :

      ​
      @SideOnly(Side.CLIENT)
      public void registerIcons(IIconRegister iconRegister)
      {
          this.itemIcon = iconRegister.registerIcon("moddofusstuffs:icone_coiffe_bouftou");
      }
      

      Pour qu’un prenne une icone, l’autre un autres etc etc

      Cordialement.

      >! Bonjour/Bonsoir,
      >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

      1 Reply Last reply Reply Quote 0
      • SCAREX
        SCAREX last edited by

        essaie avec cette fonction :

        
        public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
        {
        
        }
        
        

        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 Reply Last reply Reply Quote 0
        • Kujaroth
          Kujaroth last edited by

          J’utilise cette fonction justement.

          ​public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
          
          {
              System.out.println(bonusSet);
          
              ItemStack boots = player.getEquipmentInSlot(1);
              ItemStack leggings = player.getEquipmentInSlot(2);
              ItemStack chestPlate = player.getEquipmentInSlot(3);
              ItemStack helmet = player.getEquipmentInSlot(4);
          
              player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); //tempo
              bonusSet = 0; //tempo
          
              if (bonusSet == 4)
                      {
                  player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(22.0D);
                  player.motionX *= 1.05F;
                  player.motionZ *= 1.05F;
                      }
          
              if (bonusSet == 2)
              {
          
          player.motionX *= 1.03F;
          player.motionZ *= 1.03F;
              }
          
              if(chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou && leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou && boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
          {
          
                   bonusSet = 4;        
          
          }
          
              else
              {
                  if(boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou)
                  {
                              bonusSet = 2;
                  }
                      if(boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                  {
                          bonusSet = 2;
                  }
                      if(boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou)
                  {
                          bonusSet = 2;
                  }
          
                      if(chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou && leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou)
                  {
                          bonusSet = 2;
                  }
                      if(chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                  {
                          bonusSet = 2;
                  }
          
                      if(leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                  {
                          bonusSet = 2;
                  }
          
              }
          
          }
          

          sauf que je ne sais pas trop comment mettre la condition pour ne pas faire buguer le reste ><

          >! Bonjour/Bonsoir,
          >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

          1 Reply Last reply Reply Quote 0
          • SCAREX
            SCAREX last edited by

            @‘UnknowOrigin’:

            J’utilise cette fonction justement.

            ​public void onArmorTick(World world, EntityPlayer player, ItemStack stack)
            
            {
                System.out.println(bonusSet);
                
                ItemStack boots = player.getEquipmentInSlot(1);
                ItemStack leggings = player.getEquipmentInSlot(2);
                ItemStack chestPlate = player.getEquipmentInSlot(3);
                ItemStack helmet = player.getEquipmentInSlot(4);
                
                player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); //tempo
                bonusSet = 0; //tempo
                
                
                if (bonusSet == 4)
                        {
                    player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(22.0D);
                    player.motionX *= 1.05F;
                    player.motionZ *= 1.05F;
                        }
                
                if (bonusSet == 2)
                {
            
            player.motionX *= 1.03F;
            player.motionZ *= 1.03F;
                }
                
            
                
                if(chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou && leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou && boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
            {
                    
                     bonusSet = 4;        
            
            }
            
                
            
                else
                {
                    if(boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou)
                    {
                                bonusSet = 2;
                    }
                        if(boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                    {
                            bonusSet = 2;
                    }
                        if(boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou && chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou)
                    {
                            bonusSet = 2;
                    }
                        
                        if(chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou && leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou)
                    {
                            bonusSet = 2;
                    }
                        if(chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                    {
                            bonusSet = 2;
                    }
                        
                        if(leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou && helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                    {
                            bonusSet = 2;
                    }
                    
                }
            
            }
            

            sauf que je ne sais pas trop comment mettre la condition pour ne pas faire buguer le reste ><

            Tu peux aussi utiliser un TickEvent qui va regarder dans l’inventaire du joueur s’il a l’item et ajouter ce nombre à un extendedProperties par exemple.

            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 Reply Last reply Reply Quote 0
            • SCAREX
              SCAREX last edited by

              Pour dissocier les items dans la fonction registerIcons, je te conseille de plutôt d’utiliser le setTextureName qui est plus simple.

              Voici un exemple de ce que j’ai fait pour mes armures :

              
              helmetEnderium = new ArmorEnderium(armorEnderiumM, 0).setUnlocalizedName("HelmetEnderium").setTextureName(LAS.MODID + ":enderium_helmet");
              chestplateEnderium = new ArmorEnderium(armorEnderiumM, 1).setUnlocalizedName("ChestplateEnderium").setTextureName(LAS.MODID + ":enderium_chestplate");
              leggingsEnderium = new ArmorEnderium(armorEnderiumM, 2).setUnlocalizedName("LeggingsEnderium").setTextureName(LAS.MODID + ":enderium_leggings");
              bootsEnderium = new ArmorEnderium(armorEnderiumM, 3).setUnlocalizedName("BootsEnderium").setTextureName(LAS.MODID + ":enderium_boots");
              
              

              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 Reply Last reply Reply Quote 0
              • Kujaroth
                Kujaroth last edited by

                Pour les TickEvent et a l’extendPropertie, j’ai juste envie de dire “kézako”… Jamais utilisé ça ^^’

                Quand au setTextureName… J’ai justement utilisé le register car impossible de faire fonctionner le setTextureName… Que ce soit sur mes items 2D ou 3D ><

                ​.setTextureName(moddofusstuffs:textures/models/armor/stuff_coiffe_bouftou.png);
                .setTextureName(moddofusstuffs:stuff_coiffe_bouftou);
                .setTextureName(moddofusstuffs:stuff_coiffe_bouftou.png);
                

                >! Bonjour/Bonsoir,
                >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                1 Reply Last reply Reply Quote 0
                • SCAREX
                  SCAREX last edited by

                  @‘UnknowOrigin’:

                  Pour les TickEvent et a l’extendPropertie, j’ai juste envie de dire “kézako”… Jamais utilisé ça ^^’

                  Quand au setTextureName… J’ai justement utilisé le register car impossible de faire fonctionner le setTextureName… Que ce soit sur mes items 2D ou 3D ><

                  ​.setTextureName(moddofusstuffs:textures/models/armor/stuff_coiffe_bouftou.png);
                  .setTextureName(moddofusstuffs:stuff_coiffe_bouftou);
                  .setTextureName(moddofusstuffs:stuff_coiffe_bouftou.png);
                  

                  Pour l’extended properties : Tutoriel sur les extend entity properties

                  Il te suffit ensuite d’enregistrer l’event de cette manière : (en 1.8, en 1.7 je ne sais pas)

                  
                  FMLCommonHandler.instance().bus().register(new ClasseDuTickEvent());
                  
                  

                  pour le setTextureName, c’est parce que tu ne l’utilises pas comme il faut, voici comment l’utiliser :
                  (à placer dans le constructeur)

                  
                  setTextureName(MODID + ":" + nomDeLItem); //tu mets ce que tu veux pour le nom de l'item
                  
                  

                  Ta texture se trouve alors dans assets/MODID/textures/items/nomDeLItem.png

                  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 Reply Last reply Reply Quote 0
                  • Kujaroth
                    Kujaroth last edited by

                    Pour la texture :

                    ​ StuffCoiffeBouftou = new StuffBouftou(StuffBouftou, 0).setUnlocalizedName("Coiffe Bouftou").setTextureName(MODID + ":icone_botte_bouftou");;
                    
                         GameRegistry.registerItem(StuffCoiffeBouftou, "Coiffe Bouftou");
                    
                         StuffCapeBouftou = new StuffBouftou(StuffBouftou, 1).setUnlocalizedName("Cape Bouftou").setTextureName(MODID + ":icone_cape_bouftou"); //tu mets ce que tu veux pour le nom de l'item
                         GameRegistry.registerItem(StuffCapeBouftou, "Cape Bouftou");
                    
                         StuffCeintureBouftou = new StuffBouftou(StuffBouftou, 2).setUnlocalizedName("Ceinture Bouftou").setTextureName(MODID + ":icone_ceinture_bouftou");
                         GameRegistry.registerItem(StuffCeintureBouftou, "Ceinture Bouftou");
                    
                         StuffBotteBouftou = new StuffBouftou(StuffBouftou, 3).setUnlocalizedName("Botte Bouftou").setTextureName(MODID + ":icone_botte_bouftou");
                         GameRegistry.registerItem(StuffBotteBouftou, "Botte Bouftou");
                    
                    

                    Et Makash’, toujours rien.

                    >! Bonjour/Bonsoir,
                    >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                    1 Reply Last reply Reply Quote 0
                    • Kujaroth
                      Kujaroth last edited by

                      Merci, pour la texture c’est ok…

                      Cependant pour le reste… Je n’y suis pas arriver. Ca en fait des classes a crée juste pour bien afficher la description de l’item ^^’

                      public void setInventorySlotContents(int slotId, ItemStack stack) {} ne me confiendrais pas ?

                      Ou alors, il me faudrai une truc equivalent a

                      if(chestPlate == null && chestPlate.getItem() != ModDofusStuffs.StuffCapeBouftou),

                      soit le slot de la chestPate est vide.

                      Le soucis c’est qu’une fois l’item ranger dans l’inventaire, la description n’est pas mise a jour ><

                      ​public void addInformation(ItemStack stack, EntityPlayer player, List par3List, boolean par4)
                      
                      {
                      
                              if(stack.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                              {
                                  par3List.add("\u00A77"+ "§o" +"Les yeux bougent encore...");
                              }
                      
                              if(stack.getItem() == ModDofusStuffs.StuffCapeBouftou)
                              {
                                  par3List.add("\u00A77"+ "§o" +"Attention de ne pas marcher sur");
                                  par3List.add("\u00A77"+ "§o" +"la queue !");
                      
                              }
                      
                              if(stack.getItem() == ModDofusStuffs.StuffCeintureBouftou)
                              {
                                  par3List.add("\u00A77"+ "§o" +"Cette ceinture est ridiculement");
                                  par3List.add("\u00A77"+ "§o" +"ridicule...");
                      
                              }
                      
                              if(stack.getItem() == ModDofusStuffs.StuffBotteBouftou)
                              {
                                  par3List.add("\u00A77"+ "§o" +"Vous n'avez pas honte de mettre vos");
                                  par3List.add("\u00A77"+ "§o" +"pieds dans une carcasse de Bouftou ?");
                      
                              }
                      
                          par3List.add("");
                          par3List.add("\u00A76"+"Panoplie Du Bouftou :");
                          par3List.add("");
                          par3List.add("\u00A74"+"    Equipement : "+bonusSet+"/2");
                          par3List.add("\u00A78"+ "§o" + "      - Vitesse de mouvement x3%.   ");
                          par3List.add("");
                          par3List.add("\u00A74"+"    Equipement : "+bonusSet+"/4");
                          par3List.add("\u00A78"+ "§o" + "      - Vitesse de mouvement x4%.   ");
                          par3List.add("\u00A78"+ "§o" + "      - Coeur +1.");
                              }
                      
                      super.addInformation(stack, player, par3List, par4);
                      }
                      

                      Sauf que la description est actualisé que si elle est équiper ><

                      >! Bonjour/Bonsoir,
                      >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                      1 Reply Last reply Reply Quote 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                        Il faudrait sauvegarder le bonus dans le tab nbt du joueur.
                        Et ton code pour définir le bonus est juste …
                        Ceci est bien plus propre :

                        ​int bonus = 0;
                        
                        ItemStack boots = player.getEquipmentInSlot(1);
                        ItemStack leggings = player.getEquipmentInSlot(2);
                        ItemStack chestPlate = player.getEquipmentInSlot(3);
                        ItemStack helmet = player.getEquipmentInSlot(4);
                        
                        if(chestPlate != null && chestPlate.getItem() == ModDofusStuffs.StuffCapeBouftou)
                        {
                              bonusSet ++;
                        }
                        if(leggings != null && leggings.getItem() == ModDofusStuffs.StuffCeintureBouftou)
                        {
                              bonusSet ++;
                        }
                        if(boots != null && boots.getItem() == ModDofusStuffs.StuffBotteBouftou)
                        {
                              bonusSet ++;
                        }
                        if(helmet != null && helmet.getItem() == ModDofusStuffs.StuffCoiffeBouftou)
                        {
                              bonusSet ++;
                        }
                        
                        1 Reply Last reply Reply Quote 0
                        • Ama
                          Ama last edited by

                          Euh pour la déclaration des items c’est pas 1,2,3,4 mais 0,1,2,3 ? Au niveau du getEquipedInSlot ?

                          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 Reply Last reply Reply Quote 0
                          • Kujaroth
                            Kujaroth last edited by

                            Merci ! Vive les ++ !!!

                            Par contre j’ai pas compris ton histoire de bouton, quel bouton ? Je n’ai jamais parler de bouton ^^

                            Sinon, tout est opé, merci a  vous !

                            >! Bonjour/Bonsoir,
                            >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                            1 Reply Last reply Reply Quote 0
                            • SCAREX
                              SCAREX last edited by

                              @‘ZeAmateis’:

                              Euh pour la déclaration des items c’est pas 1,2,3,4 mais 0,1,2,3 ? Au niveau du getEquipedInSlot ?

                              Pour la déclaration c’est 0,1,2,3 mais pour le getEquipmentInSlot c’est 0 (Item tenu en main), 1 (casque, il me semble), 2 (chestplate), 3 (leggings), 4 (boots).

                              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 Reply Last reply Reply Quote 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                Je voulais dire bonus x) Je sais pas pourquoi ça s’est transformé en bouton x)

                                1 Reply Last reply Reply Quote 0
                                • 1 / 1
                                • First post
                                  Last post
                                Design by Woryk
                                Contact / Mentions Légales

                                MINECRAFT FORGE FRANCE © 2018

                                Powered by NodeBB