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

    Résolu Problème de texture armures !

    1.7.x
    1.7.10
    2
    11
    2152
    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.
    • RageAgain
      RageAgain dernière édition par

      Bonjour,
      voila je crée un petit mod personnel qui rajoute des tenues militaires ! Mais me voila déjà calé à la première tenue ! 😞

      Lorsque je rajoute le getArmorTexture() pour que la texture se mette sur l’armure IG, je mets bien tout, je ne vois pas d’erreurs et pourtant, en jeu, ça me met la texture de l’armure que j’ai initialisé dans ma méthode Armor (genre la texture de la méthode diamant, ou or en fonction de ce que j’ai mis, mais jamais ma texture a moi)….

      Je vous donne les sources !

      MilitaryEquipmentMod.java (le main)

      package fr.militaryequipment.common;
      
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemArmor;
      import cpw.mods.fml.common.Mod;
      import cpw.mods.fml.common.Mod.EventHandler;
      import cpw.mods.fml.common.Mod.Instance;
      import cpw.mods.fml.common.SidedProxy;
      import cpw.mods.fml.common.event.FMLInitializationEvent;
      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
      import cpw.mods.fml.common.registry.GameRegistry;
      import cpw.mods.fml.relauncher.Side;
      import fr.militaryequipment.proxy.CommonProxy;
      
      @Mod(modid = "militaryequipmentmod", name = "Equipment Military", version = "1.0.0")
      
      public class MilitaryEquipmentMod extends Item
      {
      @Instance("militaryequipmentmod")
      public static MilitaryEquipmentMod instance;
      
      @SidedProxy(clientSide = "fr.militaryequipment.proxy.ClientProxy", serverSide = "fr.militaryequipment.proxy.CommonProxy")
      public static CommonProxy proxy;
      
      public static final String MODID = "militaryequipmentmod";
      
      @EventHandler
      public void preInit(FMLPreInitializationEvent event)
      {
      //DECLARATION DES ARMURES
      //MODELE
      Item ModelHelmet = new Item().setUnlocalizedName("ModelHelmet").setTextureName(MODID + ":1model_helmet").setCreativeTab(CreativeTabs.tabMaterials);
      Item ModelChestplate = new Item().setUnlocalizedName("ModelChestplate").setTextureName(MODID + ":1model_chestplate").setCreativeTab(CreativeTabs.tabMaterials);
      Item ModelLeggings = new Item().setUnlocalizedName("ModelLeggings").setTextureName(MODID + ":1model_legs").setCreativeTab(CreativeTabs.tabMaterials);
      Item ModelBoots = new Item().setUnlocalizedName("ModelBoots").setTextureName(MODID + ":1model_boots").setCreativeTab(CreativeTabs.tabMaterials);
      
      //MARINE
      Item MarinesHelmet = new Armor(MilitaryEquipment.MilitaryMaterial, 0).setUnlocalizedName("MarineHelmet").setTextureName(MODID + ":2MarineHelmet");
      Item MarinesChestplate = new Armor(MilitaryEquipment.MilitaryMaterial, 1).setUnlocalizedName("MarineChestplate").setTextureName(MODID + ":2MarineChestplate");
      Item MarinesLeggings = new Armor(MilitaryEquipment.MilitaryMaterial, 2).setUnlocalizedName("MarineLeggings").setTextureName(MODID + ":2MarinePants");
      Item MarinesBoots = new Armor(MilitaryEquipment.MilitaryMaterial, 3).setUnlocalizedName("MarineBoots").setTextureName(MODID + ":2MarineBoots");
      
      //ENREGISTREMENT DES ARMURES
      //MODEL
      GameRegistry.registerItem(ModelHelmet, "Helmet Model");
      GameRegistry.registerItem(ModelChestplate, "Chestplate Model");
      GameRegistry.registerItem(ModelLeggings, "Leggings Model");
      GameRegistry.registerItem(ModelBoots, "Boots Model");
      //MARINES
      GameRegistry.registerItem(MarinesHelmet, "Helmet Marines");
      GameRegistry.registerItem(MarinesChestplate, "Chestplate Marines");
      GameRegistry.registerItem(MarinesLeggings, "Leggings Marines");
      GameRegistry.registerItem(MarinesBoots, "Boots Marines");
      
      }
      
      @EventHandler
      public void init(FMLInitializationEvent event)
      {
      proxy.registerRender();
      
      }
      
      @EventHandler
      public void postInit(FMLPostInitializationEvent event)
      {
      
      }
      }
      

      MilitaryEquipment.java (la déclaration de l’armure)

      package fr.militaryequipment.common;
      
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemArmor.ArmorMaterial;
      import net.minecraftforge.common.util.EnumHelper;
      
      public class MilitaryEquipment {
      
      //DECLARATION D'ITEM
      //MARINES
      public static Item MarinesHelmet;
      public static Item MarinesChestplate;
      public static Item MarinesLeggings;
      public static Item MarinesBoots;
      
      //MATERIAL
      public static ArmorMaterial MilitaryMaterial = EnumHelper.addArmorMaterial("MILITAIRE", 200, new int[]{2, 5, 4, 1}, 1);
      
      }
      

      ModelEquipment.java (la déclaration des items model pour la création des tenues)

      package fr.militaryequipment.common;
      
      import net.minecraft.item.Item;
      
      public class ModelEquipment extends Item{
      
      //MODEL
      public static Item ModelHelmet;
      public static Item ModelChestplate;
      public static Item ModelLeggings;
      public static Item ModelBoots;
      
      }
      

      Armor.java (là ou se trouve la méthode getArmorTexture)

      package fr.militaryequipment.common;
      
      import net.minecraft.entity.Entity;
      import net.minecraft.item.ItemArmor;
      import net.minecraft.item.ItemStack;
      
      public class Armor extends ItemArmor{
      
      public Armor(ArmorMaterial material, int type) {
      super(material, 4, type);
      }
      
      public String getArmorTexture(ItemStack itemStack, Entity entity, int slot, String type)
      {
      //MARINE
      if(itemStack.getItem() == MilitaryEquipment.MarinesHelmet || itemStack.getItem() == MilitaryEquipment.MarinesChestplate || itemStack.getItem() == MilitaryEquipment.MarinesBoots)
      return MilitaryEquipmentMod.MODID + ":textures/models/armor/marine_layer_1.png";
      else if(itemStack.getItem() == MilitaryEquipment.MarinesLeggings)
      return MilitaryEquipmentMod.MODID + ":textures/models/armor/marine_layer_2.png";
      //KSK
      else
      return null;
      }
      }
      

      Et pourtant, j’ai bien mis mes textures marine_layer_1 et marine_layer_2 dans le dossier \textures\model\armor\ …

      J’espère que vous pourrez un peu m’aider! 🙂

      Cordialement, RageAgain

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Toutes tes variables :
        public static Item MarinesHelmet;
        public static Item MarinesChestplate;
        public static Item MarinesLeggings;
        public static Item MarinesBoots;

        Sont nulles.

        Dans ta classe principale ça devrait être :
        MilitaryEquipment.MarinesHelmet = new Item().setUnlocalizedName(“ModelHelmet”).setTextureName(MODID + “:1model_helmet”).setCreativeTab(CreativeTabs.tabMaterials);
        et non ce que tu as actuellement, car ton code actuel créé une variable local.

        Ne t’amuse pas a dispersé ton code dans 50 classes si ce n’est pas nécessaire, ça complique le code pour rien.

        1 réponse Dernière réponse Répondre Citer 0
        • RageAgain
          RageAgain dernière édition par

          Suppeer! Ca fonctionne! merci!
          Je comprend même pas comment j’ai pas vu cette erreur……O.o

          On m’a déjà fait la réflexion mais j’aime bien avoir un espace de travail très structuré…même si ca complique le code!

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Dans ce cas le mieux et de faire une classe ou tu mets tout ce qui concerne les items, la déclaration et l’initialisation.
            Exemple :
            https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/main/blocks/NanotechBlock.java
            C’est beaucoup mieux comme organisation. Il suffit d’appeler la méthode initBlock dans la classe principale et voila.
            Également pense à mettre la balise résolu.

            1 réponse Dernière réponse Répondre Citer 0
            • RageAgain
              RageAgain dernière édition par

              Mmmh! Ca c’est pas du tout stupide!
              Je vais prendre ce modèle pour mes prochains mods tiens! 🙂

              Avant de mettre la balise résolu, juste une derniere question,
              Pourquoi ce code ne fonctionne-t-il pas?

              
              public void addRecipe(){
              GameRegistry.addRecipe(new ItemStack(MilitaryEquipment.MarinesHelmet, 1), new Object[] {"X", "Y", "#", '#', MilitaryEquipment.ModelHelmet, 'Y', new ItemStack(Items.dye, 1, 8), 'X', new ItemStack(Items.dye, 1, 15)});
              }
              

              J’ai l’impression que quoi que je fasse ne fonctionne pas et je trouve jamais de solutions sur le net… 😞

              PS: C’est au niveau des colorants, je veux faire en sorte qu’il y ait des colorants dans le craft….lorsque je moddais les fichiers de base de minecraft, ca fonctionnait! mais là…

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Je ne vois pas d’erreur dans ton code, ça ne fonctionne pas ?

                1 réponse Dernière réponse Répondre Citer 0
                • RageAgain
                  RageAgain dernière édition par

                  Non….J’ai beau faire le craft; y a rien qui en sort 😞

                  1 réponse Dernière réponse Répondre Citer 0
                  • RageAgain
                    RageAgain dernière édition par

                    package fr.militaryequipment.common;
                    
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.init.Items;
                    import net.minecraft.item.Item;
                    import net.minecraft.item.ItemArmor;
                    import net.minecraft.item.ItemStack;
                    import cpw.mods.fml.common.Mod;
                    import cpw.mods.fml.common.Mod.EventHandler;
                    import cpw.mods.fml.common.Mod.Instance;
                    import cpw.mods.fml.common.SidedProxy;
                    import cpw.mods.fml.common.event.FMLInitializationEvent;
                    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                    import cpw.mods.fml.common.registry.GameRegistry;
                    import cpw.mods.fml.relauncher.Side;
                    import fr.militaryequipment.proxy.CommonProxy;
                    
                    @Mod(modid = "militaryequipmentmod", name = "Equipment Military", version = "1.0.0")
                    
                    public class MilitaryEquipmentMod extends Item
                    {
                    @Instance("militaryequipmentmod")
                    public static MilitaryEquipmentMod instance;
                    
                    @SidedProxy(clientSide = "fr.militaryequipment.proxy.ClientProxy", serverSide = "fr.militaryequipment.proxy.CommonProxy")
                    public static CommonProxy proxy;
                    
                    public static final String MODID = "militaryequipmentmod";
                    
                    @EventHandler
                    public void preInit(FMLPreInitializationEvent event)
                    {
                    //DECLARATION DES ARMURES
                    //MODELE
                    MilitaryEquipment.ModelHelmet = new Item().setUnlocalizedName("ModelHelmet").setTextureName(MODID + ":1model_helmet").setCreativeTab(CreativeTabs.tabMaterials);
                    MilitaryEquipment.ModelChestplate = new Item().setUnlocalizedName("ModelChestplate").setTextureName(MODID + ":1model_chestplate").setCreativeTab(CreativeTabs.tabMaterials);
                    MilitaryEquipment.ModelLeggings = new Item().setUnlocalizedName("ModelLeggings").setTextureName(MODID + ":1model_legs").setCreativeTab(CreativeTabs.tabMaterials);
                    MilitaryEquipment.ModelBoots = new Item().setUnlocalizedName("ModelBoots").setTextureName(MODID + ":1model_boots").setCreativeTab(CreativeTabs.tabMaterials);
                    
                    //MARINE
                    MilitaryEquipment.MarinesHelmet = new Armor(MilitaryEquipment.MilitaryMaterial, 0).setUnlocalizedName("MarineHelmet").setTextureName(MODID + ":2MarineHelmet");
                    MilitaryEquipment.MarinesChestplate = new Armor(MilitaryEquipment.MilitaryMaterial, 1).setUnlocalizedName("MarineChestplate").setTextureName(MODID + ":2MarineChestplate");
                    MilitaryEquipment.MarinesLeggings = new Armor(MilitaryEquipment.MilitaryMaterial, 2).setUnlocalizedName("MarineLeggings").setTextureName(MODID + ":2MarinePants");
                    MilitaryEquipment.MarinesBoots = new Armor(MilitaryEquipment.MilitaryMaterial, 3).setUnlocalizedName("MarineBoots").setTextureName(MODID + ":2MarineBoots");
                    
                    //ENREGISTREMENT DES ARMURES
                    //MODEL
                    GameRegistry.registerItem(MilitaryEquipment.ModelHelmet, "Helmet Model");
                    GameRegistry.registerItem(MilitaryEquipment.ModelChestplate, "Chestplate Model");
                    GameRegistry.registerItem(MilitaryEquipment.ModelLeggings, "Leggings Model");
                    GameRegistry.registerItem(MilitaryEquipment.ModelBoots, "Boots Model");
                    //MARINES
                    GameRegistry.registerItem(MilitaryEquipment.MarinesHelmet, "Helmet Marines");
                    GameRegistry.registerItem(MilitaryEquipment.MarinesChestplate, "Chestplate Marines");
                    GameRegistry.registerItem(MilitaryEquipment.MarinesLeggings, "Leggings Marines");
                    GameRegistry.registerItem(MilitaryEquipment.MarinesBoots, "Boots Marines");
                    
                    }
                    
                    @EventHandler
                    public void init(FMLInitializationEvent event)
                    {
                    proxy.registerRender();
                    
                    }
                    
                    @EventHandler
                    public void postInit(FMLPostInitializationEvent event)
                    {
                    
                    }
                    }
                    

                    Le main de mon mod ressemble à ça…je sens que j’ai oublié un appel ou quelque chose ainsi… 😕

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                      Ton void
                      public void addRecipe(){

                      se trouve où ?

                      1 réponse Dernière réponse Répondre Citer 0
                      • RageAgain
                        RageAgain dernière édition par

                        Dans une classe nommé addRecipe.
                        J’ai hésité à la mettre après le postInit, j’aurai dut?

                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                          Dans init plutôt. postInit ça devrait aussi fonctionner.

                          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