MFF

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

    Si dans l'inventaire alors

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    14 Messages 4 Publieurs 3.4k 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.
    • KujarothK Hors-ligne
      Kujaroth
      dernière édition par

      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 réponse Dernière réponse Répondre Citer 0
      • SCAREXS Hors-ligne
        SCAREX
        dernière édition par

        @‘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 réponse Dernière réponse Répondre Citer 0
        • SCAREXS Hors-ligne
          SCAREX
          dernière édition par

          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 réponse Dernière réponse Répondre Citer 0
          • KujarothK Hors-ligne
            Kujaroth
            dernière édition par

            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 réponse Dernière réponse Répondre Citer 0
            • SCAREXS Hors-ligne
              SCAREX
              dernière édition par

              @‘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 réponse Dernière réponse Répondre Citer 0
              • KujarothK Hors-ligne
                Kujaroth
                dernière édition par

                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 réponse Dernière réponse Répondre Citer 0
                • KujarothK Hors-ligne
                  Kujaroth
                  dernière édition par

                  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 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 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 réponse Dernière réponse Répondre Citer 0
                    • AmaA Hors-ligne
                      Ama
                      dernière édition par

                      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 réponse Dernière réponse Répondre Citer 0
                      • KujarothK Hors-ligne
                        Kujaroth
                        dernière édition par

                        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 réponse Dernière réponse Répondre Citer 0
                        • SCAREXS Hors-ligne
                          SCAREX
                          dernière édition par

                          @‘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 réponse Dernière réponse Répondre Citer 0
                          • robin4002R Hors-ligne
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                            dernière édition par

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

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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB