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.1k 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.
    • 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