MFF

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

    Item à metadata en 1.7 ?

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.x
    14 Messages 3 Publieurs 3.0k 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.
    • Polygon48P Hors-ligne
      Polygon48
      dernière édition par

      Bonsoir ! Voilà, je me retrouve ici pour savoir si il était encore possible de créer des items à metadata en 1.7 car les ID ne marchent plus …
      Si oui pouvez vous me donner la solution, si non y a t’il un autre moyen ?

      Merci d’avance à tous et bonne soirée 🙂

      Cordialement, Polygon48

      1 réponse Dernière réponse Répondre Citer 0
      • Phenix246P Hors-ligne
        Phenix246 Rédacteurs
        dernière édition par

        Même principe que pour les blocs : ```java
        private String[] type = new String[]{“item1”, “item2”, “item3”, “item4”};

        
        Bien Sûr les .blockID ont disparus, même ça ne change rien au système (le changement du système de metadata c'est en 1.8)
        1 réponse Dernière réponse Répondre Citer 0
        • Polygon48P Hors-ligne
          Polygon48
          dernière édition par

          @‘Phenix246’:

          Même principe que pour les blocs :

          private String[] type = new String[]{"item1", "item2", "item3", "item4"};
          

          Bien Sûr les .blockID ont disparus, même ça ne change rien au système (le changement du système de metadata c’est en 1.8)

          Merci je vais tester tous ça ! 🙂
          Je reviens ici si j’ai un autre problème, merci encore !

          Cordialement, Polygon48

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

            @‘Phenix246’:

            Même principe que pour les blocs :

            private String[] type = new String[]{"item1", "item2", "item3", "item4"};
            

            Bien Sûr les .blockID ont disparus, même ça ne change rien au système (le changement du système de metadata c’est en 1.8)

            De retour, après avoir placé le tableau et essayer plusieurs fois plusieurs choses pour éviter de revenir ici et d’encore embêter je n’y arrive pas, je ne sais pas comment il faut faire, n’aurais tu pas un tutoriel ou autre ?

            Merci pour ta patience 🙂

            Cordialement, Polygon48

            1 réponse Dernière réponse Répondre Citer 0
            • Phenix246P Hors-ligne
              Phenix246 Rédacteurs
              dernière édition par

              envoie ton code je vais te l’arranger

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

                @‘Phenix246’:

                envoie ton code je vais te l’arranger

                    public static Item itemObsidian;
                
                @EventHandler
                
                    public void preInit(FMLPreInitializationEvent event)
                    {
                
                        //Obsidian ITEMS
                        itemObsidian = new itemObsidianMetadata().setUnlocalizedName("itemobsidian");
                        GameRegistry.registerItem(itemObsidian, "itemObsidian", "ObsidianPlus");
                

                Ici j’ai essayer d’utiliser le code de la 1.6 …

                Ensuite ma classe :

                
                package com.google.bidibusteam.obsidianplus.common;
                
                import javax.swing.Icon;
                
                import net.minecraft.creativetab.CreativeTabs;
                import net.minecraft.item.Item;
                import net.minecraft.item.ItemStack;
                
                public class itemObsidianMetadata extends Item
                {
                
                    public int getMetadata(int metadata)
                    {
                        return metadata;
                    }
                
                    public String getUnlocalizedName(ItemStack stack)
                    {
                        int metadata = stack.getItemDamage();
                        if(metadata > type.length || metadata < 0)
                        {
                            metadata = 0;
                        }
                        return super.getUnlocalizedName() + "." + type[metadata];
                    }
                
                    private String[] type = new String[]{"item1", "item2", "item3", "item4"};
                    private Icon[] IconArray;
                    public itemObsidianMetadata(int id)
                    {
                        super();
                        this.setCreativeTab(CreativeTabs.tabMaterials);
                        this.setHasSubtypes(true);
                    }
                
                    public void registerIcons(IconRegister iconregister)
                    {
                        IconArray = new Icon[type.length];
                        for(int i = 0; i < type.length; i++)
                        {
                            IconArray* = iconregister.registerIcon("modtutoriel:" + type*);
                        }
                    }
                
                    @SideOnly(Side.CLIENT)
                    public void getSubItems(int id, CreativeTabs creativeTabs, List list)
                    {
                        for(int metadata = 0; metadata < type.length; metadata++)
                        {
                            list.add(new ItemStack(id, 1, metadata));
                        }
                    }
                
                    @SideOnly(Side.CLIENT)
                    public Icon getIconFromDamage(int metadata)
                    {
                        return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
                    }
                
                }
                
                

                Ici pareil, un peu de 1.6 mais plein d’erreur car le code et faux en lui même je pense et non finis …

                Cordialement, Polygon48

                1 réponse Dernière réponse Répondre Citer 0
                • Phenix246P Hors-ligne
                  Phenix246 Rédacteurs
                  dernière édition par

                  package com.google.bidibusteam.obsidianplus.common;
                  
                  import net.minecraft.util.IIcon;
                  
                  import net.minecraft.creativetab.CreativeTabs;
                  import net.minecraft.item.Item;
                  import net.minecraft.item.ItemStack;
                  
                  public class itemObsidianMetadata extends Item
                  {
                     private String[] type = new String[]{"item1", "item2", "item3", "item4"};
                     private IIcon[] iconArray;
                  
                     public itemObsidianMetadata()
                     {
                         super();
                         this.setCreativeTab(CreativeTabs.tabMaterials);
                         this.setHasSubtypes(true);
                     }
                  
                     public int getMetadata(int metadata)
                     {
                         return metadata;
                     }
                  
                     public String getUnlocalizedName(ItemStack stack)
                     {
                         int metadata = stack.getItemDamage();
                         if(metadata > type.length || metadata < 0)
                         {
                             metadata = 0;
                         }
                         return super.getUnlocalizedName() + "." + type[metadata];
                     }
                  
                     public void registerIcons(IIconRegister iconregister)
                     {
                         iconArray = new Icon[type.length];
                         for(int i = 0; i < type.length; i++)
                         {
                             iconArray* = iconregister.registerIcon("modtutoriel:" + type*);
                         }
                     }
                  
                  @SideOnly(Side.CLIENT)
                  public void getSubItems(Item Item, CreativeTabs creativeTabs, List list)
                  {
                  for(int metadata = 0; metadata < type.length; metadata++)
                  list.add(new ItemStack(Item, 1, metadata));
                  }
                  
                     @SideOnly(Side.CLIENT)
                     public IIcon getIconFromDamage(int metadata)
                     {
                         return metadata < type.length && metadata >= 0 ? iconArray[metadata] : iconArray[0];
                     }
                  }
                  

                  Normalement là c’est bon ,oublie pas par contre d’utiliser la balise [java], ça rend le code plus facile à lire

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

                    @‘Phenix246’:

                    package com.google.bidibusteam.obsidianplus.common;
                    
                    import javax.swing.Icon;
                    
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.item.Item;
                    import net.minecraft.item.ItemStack;
                    
                    public class itemObsidianMetadata extends Item
                    {
                       private String[] type = new String[]{"item1", "item2", "item3", "item4"};
                       private Icon[] iconArray;
                    
                       public itemObsidianMetadata()
                       {
                           super();
                           this.setCreativeTab(CreativeTabs.tabMaterials);
                           this.setHasSubtypes(true);
                       }
                    
                       public int getMetadata(int metadata)
                       {
                           return metadata;
                       }
                    
                       public String getUnlocalizedName(ItemStack stack)
                       {
                           int metadata = stack.getItemDamage();
                           if(metadata > type.length || metadata < 0)
                           {
                               metadata = 0;
                           }
                           return super.getUnlocalizedName() + "." + type[metadata];
                       }
                    
                       public void registerIcons(IconRegister iconregister)
                       {
                           iconArray = new Icon[type.length];
                           for(int i = 0; i < type.length; i++)
                           {
                               iconArray* = iconregister.registerIcon("modtutoriel:" + type*);
                           }
                       }
                    
                    @SideOnly(Side.CLIENT)
                    public void getSubItems(Item Item, CreativeTabs creativeTabs, List list)
                    {
                    for(int metadata = 0; metadata < type.length; metadata++)
                    list.add(new ItemStack(Item, 1, metadata));
                    }
                    
                       @SideOnly(Side.CLIENT)
                       public Icon getIconFromDamage(int metadata)
                       {
                           return metadata < type.length && metadata >= 0 ? iconArray[metadata] : iconArray[0];
                       }
                    }
                    

                    Normalement là c’est bon ,oublie pas par contre d’utiliser la balise

                    , ça rend le code plus facile à lire
                    
                    
                    Oui oui pas de problème !
                    Un grand merci à toi !
                    Au niveau de ma classe principale par contre j'utilise quel code ?
                    
                    

                    Cordialement, Polygon48

                    1 réponse Dernière réponse Répondre Citer 0
                    • Phenix246P Hors-ligne
                      Phenix246 Rédacteurs
                      dernière édition par

                      normalement le tien est bon

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

                        @‘Phenix246’:

                        normalement le tien est bon

                        Par contre j’ai quelques erreurs ici :

                            @SideOnly(Side.CLIENT)
                        
                            public Icon getIconFromDamage(int metadata)
                            {
                                return metadata < type.length && metadata >= 0 ? iconArray[metadata] : iconArray[0];
                            }
                        

                        Au Icon et ici aussi :

                            public void registerIcons(IconRegister iconregister)
                        
                            {
                                iconArray = new Icon[type.length];
                                for(int i = 0; i < type.length; i++)
                                {
                                    iconArray* = iconregister.registerIcon("modtutoriel:" + type*);
                                }
                            }
                        

                        Au niveau du IconRegister, peut être que le code à changer en 1.7 ?

                        Cordialement, Polygon48

                        1 réponse Dernière réponse Répondre Citer 0
                        • Phenix246P Hors-ligne
                          Phenix246 Rédacteurs
                          dernière édition par

                          en 1.7 Icon devient IIcon

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

                            @‘Phenix246’:

                            en 1.7 Icon devient IIcon

                            Oui mais du coup ici en changeant Icon par IIcon tout le code devient faux 😞 :

                            ​iconArray* = iconregister.registerIcon("obsidianplus:" + type*);
                            

                            Idem en bas :

                            ​ return metadata < type.length && metadata >= 0 ? iconArray[metadata] : iconArray[0];
                            

                            Cordialement, Polygon48

                            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 faut remplacer seulement les références  à l’objet Icon, pas tout ce qui contient Icon …
                              Tu devrais apprendre le java, ça va t’aider à comprendre ce que tu fais.

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

                                @‘robin4002’:

                                Il faut remplacer seulement les références  à l’objet Icon, pas tout ce qui contient Icon …
                                Tu devrais apprendre le java, ça va t’aider à comprendre ce que tu fais.

                                Okay, merci 😉
                                Yeap c’est ce que je comptais faire 🙂

                                Cordialement, Polygon48

                                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