• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Item à metadata en 1.7 ?

    1.7.x
    1.7.x
    3
    14
    2812
    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.
    • Polygon48
      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
      • Phenix246
        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
        • Polygon48
          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
          • Polygon48
            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
            • Phenix246
              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
              • Polygon48
                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
                • Phenix246
                  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
                  • Polygon48
                    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
                    • Phenix246
                      Phenix246 Rédacteurs dernière édition par

                      normalement le tien est bon

                      1 réponse Dernière réponse Répondre Citer 0
                      • Polygon48
                        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
                        • Phenix246
                          Phenix246 Rédacteurs dernière édition par

                          en 1.7 Icon devient IIcon

                          1 réponse Dernière réponse Répondre Citer 0
                          • Polygon48
                            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
                            • robin4002
                              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
                              • Polygon48
                                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
                                Contact / Mentions Légales

                                MINECRAFT FORGE FRANCE © 2018

                                Powered by NodeBB