MFF

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

    Nom d'item en plusieurs morceau.

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    26 Messages 4 Publieurs 5.5k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Salut,
      C’est possible via la fonction getUnlocalizedName dans la classe du bloc ou item.

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

        Oui ,mais comment?

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

          En faites je crois que j’ai trouvé un truc mais ça marche que sur les items.
          Ducoup comment on fait pour modifier l’item du block?

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

            Tien, une fonction pour générer un nom aléatoire (si j’ai bien compris ce que tu voulais)

            public String generate(int length)
            {
               String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // Tu supprimes les lettres dont tu ne veux pas
               String pass = "";
               for(int x=0;x <length;x++)<br>{
                  int i = (int)Math.floor(Math.random() * 62); // Si tu supprimes des lettres tu diminues ce nb
                  pass += chars.charAt(i);
               }
               System.out.println(pass);
               return pass;
            }
            ```</length;x++)<br>
            1 réponse Dernière réponse Répondre Citer 0
            • S Hors-ligne
              SamCC
              dernière édition par

              @‘Loko_Liveh’:

              Tien, une fonction pour générer un nom aléatoire (si j’ai bien compris ce que tu voulais)

              public String generate(int length)
              {
                 String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // Tu supprimes les lettres dont tu ne veux pas
                 String pass = "";
                 for(int x=0;x <length;x++)<br>{
                    int i = (int)Math.floor(Math.random() * 62); // Si tu supprimes des lettres tu diminues ce nb
                    pass += chars.charAt(i);
                 }
                 System.out.println(pass);
                 return pass;
              }
              

              J’ai déja la fonction pour générer le nom.Mais je sais pas comment l’afficher en jeu.</length;x++)<br>

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

                
                public String getUnlocalizedName(ItemStack stack)
                {
                return this.generate(10);
                }
                
                
                1 réponse Dernière réponse Répondre Citer 0
                • S Hors-ligne
                  SamCC
                  dernière édition par

                  @‘Plaigon’:

                  
                  public String getUnlocalizedName(ItemStack stack)
                  {
                  return this.generate(10);
                  }
                  
                  

                  J’avais finalement mit:

                  
                  public String getUnlocalizedName()
                  {
                  return "Fleur";
                  }
                  
                  

                  Sa retirais le “tile.” mais ça laisser le “.name”

                  J’ai fait ce que tu as mit mais me met “tile.null.name” en jeu.
                  J’ai bien remplacer le “generate”,c’est pas à cause de ça.(J’avais déja fait kekchose pour générer les noms.)

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

                    Ce que j’ai mis, c’est ce dont tu as besoin.

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

                      @‘Plaigon’:

                      Ce que j’ai mis, c’est ce dont tu as besoin.

                      J’ai éditer mon message au dessus.
                      Mais ducoup ça marche pas.  😞

                      J’avais juste pas compris pour le “generate” j’aurais du faire plus attention.
                      Je pense que getUnlocalizedNAme n’est pas adapté,il laisse le “.name”

                      Au finale,j’ai trouvé:

                      
                          public String getItemStackDisplayName(ItemStack p_77653_1_)
                          {
                              return "Fleur";
                          }
                      
                      

                      Mais ça pense que je fais une déclaratin,je comprend pas.

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

                        Tu ne souhaites donc pas avoir le .name derrière, c’est bien ça ?

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

                          @‘Plaigon’:

                          Tu ne souhaites donc pas avoir le .name derrière, c’est bien ça ?

                          En gros,je veux pouvoir afficher un nom sans utiliser le fichier .lang

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

                            Alors ma solution (à voir avec les autres membres) serait de modifier la classe ItemStack, et + particulièrement la méthode getItemStackDisplayName, à l’aide d’un Class Transformer, afin de faire en sorte que si l’item de l’objet stack en paramètre égale ton item custom, alors tu return un string grâce à la méthode generate. Ainsi on contourne le système de base des noms de MC, et on évite les fichiers lang

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

                              @‘Plaigon’:

                              Alors ma solution (à voir avec les autres membres) serait de modifier la classe ItemStack, et + particulièrement la méthode getItemStackDisplayName, à l’aide d’un Class Transformer, afin de faire en sorte que si l’item de l’obiet stack en paramètre égale ton item custom, alors tu retrun un string de la méthode generate. Ainsi on évite donc les résultats de base de MC avec les fichiers lang.

                              J’ai pas vraiment compris.

                              Et j’ai une erreur la,je sais pas comment la régler:

                              
                              public class BlockFlowerMod extends BlockFlower
                              {
                              public BlockFlowerMod(int p_i2173_1_,String nam1,String nam2,String nam3) 
                              {
                              super(p_i2173_1_);
                              
                                 public String getUnlocalizedName()
                                 {
                                  return nam1+nam2+nam3;
                                 }
                              }
                              
                              }
                              
                              
                              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

                                Beaucoup plus simple :

                                   public String getLocalizedName()
                                   {
                                       return "nom de l'item";
                                   }
                                

                                pas besoin de classe transformer.

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

                                  @‘robin4002’:

                                  Beaucoup plus simple :

                                     public String getLocalizedName()
                                     {
                                         return "nom de l'item";
                                     }
                                  

                                  pas besoin de classe transformer.

                                  J’ai déja essayer et ça ne marche pas.___Et puis je n’arrive même pas à placer le getUnlocalizedName pour utiliser la méthode pour générer le nom.

                                  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

                                    Si tu utilises getLocalizedName tu n’as plus besoin de getUnlocalizedName.

                                    Envoies ton code.

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

                                      :::

                                      package com.mod.infiniNature.RandomCreate;
                                      
                                      import java.util.Random;
                                      
                                      public class Flower 
                                      {
                                      
                                      public static String RanFlowName1()
                                      {
                                      Random rand = new Random();
                                      int RandNumb = rand.nextInt(3);
                                      if(RandNumb==0){return "Reni";}
                                      else if(RandNumb==1){return "Peni";}
                                      else if(RandNumb==2){return "Cali";}
                                      else if(RandNumb==3){return "Roni";}
                                      else{return "Erro";}
                                      }
                                      
                                      public static String RanFlowName2()
                                      {
                                      Random rand = new Random();
                                      int RandNumb = rand.nextInt(3);
                                      if(RandNumb==0){return "pelu";}
                                      else if(RandNumb==1){return "calo";}
                                      else if(RandNumb==2){return "tina";}
                                      else if(RandNumb==3){return "galu";}
                                      else{return "Erro";}
                                      }
                                      
                                      public static String RanFlowName3()
                                      {
                                      Random rand = new Random();
                                      int RandNumb = rand.nextInt(3);
                                      if(RandNumb==0){return "cilius";}
                                      else if(RandNumb==1){return "anilis";}
                                      else if(RandNumb==2){return "parni";}
                                      else if(RandNumb==3){return "dophelius";}
                                      else{return "Erro";}
                                      }
                                      
                                      }
                                      

                                      :::
                                      :::

                                      package com.mod.infiniNature.init;
                                      
                                      import com.mod.infiniNature.Block.BlockFlowerMod;
                                      import com.mod.infiniNature.RandomCreate.Flower;
                                      
                                      import cpw.mods.fml.common.registry.GameRegistry;
                                      import net.minecraft.block.Block;
                                      
                                      public class BlockInit 
                                      {
                                      
                                      public static Block flower1;
                                      public static Block flower2;
                                      
                                      public static void init()
                                      {
                                      flower1 = new BlockFlowerMod(1, Flower.RanFlowName1() , Flower.RanFlowName2(), Flower.RanFlowName3());
                                      GameRegistry.registerBlock(flower1, "flower1");
                                      flower2 = new BlockFlowerMod(1, Flower.RanFlowName1() , Flower.RanFlowName2(), Flower.RanFlowName3());
                                      GameRegistry.registerBlock(flower2, "flower2");
                                      }
                                      
                                      }
                                      

                                      :::
                                      :::

                                      package com.mod.infiniNature.Block;
                                      
                                      import com.mod.infiniNature.RandomCreate.Flower;
                                      import com.mod.infiniNature.init.BlockInit;
                                      
                                      import net.minecraft.block.BlockFlower;
                                      import net.minecraft.init.Items;
                                      import net.minecraft.util.StatCollector;
                                      import net.minecraft.item.Item;
                                      import net.minecraft.item.ItemStack;
                                      
                                      public class BlockFlowerMod extends BlockFlower
                                      {
                                      public BlockFlowerMod(int p_i2173_1_,String nam1,String nam2,String nam3) 
                                      {
                                      super(p_i2173_1_);
                                      
                                      }
                                      
                                      }
                                      

                                      :::

                                      Ducoup je sais pas comment faire pour mettre get-Localized/Unlocalized-Name dans la méthode du block.

                                      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

                                        package com.mod.infiniNature.Block;
                                        
                                        import com.mod.infiniNature.RandomCreate.Flower;
                                        import com.mod.infiniNature.init.BlockInit;
                                        
                                        import net.minecraft.block.BlockFlower;
                                        import net.minecraft.init.Items;
                                        import net.minecraft.util.StatCollector;
                                        import net.minecraft.item.Item;
                                        import net.minecraft.item.ItemStack;
                                        
                                        public class BlockFlowerMod extends BlockFlower
                                        {
                                            private final String name1, name2, name3
                                            public BlockFlowerMod(int p_i2173_1_, String name1,String name2,String name3)
                                            {
                                                super(p_i2173_1_);
                                                this.name1 = name1;
                                                this.name2 = name2;
                                                this.name3 = name3;
                                            }
                                        
                                           public String getLocalizedName()
                                           {
                                                return this.name1 + this.name2 + this.name3;
                                           }
                                        
                                        }
                                        
                                        1 réponse Dernière réponse Répondre Citer 0
                                        • S Hors-ligne
                                          SamCC
                                          dernière édition par

                                          @‘robin4002’:

                                          package com.mod.infiniNature.Block;
                                          
                                          import com.mod.infiniNature.RandomCreate.Flower;
                                          import com.mod.infiniNature.init.BlockInit;
                                          
                                          import net.minecraft.block.BlockFlower;
                                          import net.minecraft.init.Items;
                                          import net.minecraft.util.StatCollector;
                                          import net.minecraft.item.Item;
                                          import net.minecraft.item.ItemStack;
                                          
                                          public class BlockFlowerMod extends BlockFlower
                                          {
                                              private final String name1, name2, name3
                                              public BlockFlowerMod(int p_i2173_1_, String name1,String name2,String name3)
                                              {
                                                  super(p_i2173_1_);
                                                  this.name1 = name1;
                                                  this.name2 = name2;
                                                  this.name3 = name3;
                                              }
                                          
                                             public String getLocalizedName()
                                             {
                                                  return this.name1 + this.name2 + this.name3;
                                             }
                                          
                                          }
                                          

                                          Merci pour le code !;)
                                          Tu as réglé un problème mais le getLocalizedName ne marche toujours pas. 😞

                                          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

                                            Tu code en quelle version ?

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB