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

    Résolu Problème avec le layer d'une armure

    1.7.x
    1.7.2
    2
    3
    1079
    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.
    • H
      herroP dernière édition par

      Bonjour tout le monde, je suis actuellement les tutos sur le modding forge.
      J’en suis à la partie de l’armure. J’ai donc fait quelques tests avec un set d’armure, mais le souci est que je n’arrive pas à lui faire charger un layer que j’ai personnalisé.
      Voici ma classe ModTest (j’ai appelé mon mod “test”):

      package fr.nf.odekproduction.test.common;
      
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemArmor.ArmorMaterial;
      import net.minecraftforge.common.util.EnumHelper;
      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.FMLPreInitializationEvent;
      import cpw.mods.fml.common.registry.GameRegistry;
      import fr.nf.odekproduction.test.proxy.CommonProxy;
      
      @Mod(modid = "modtest", name = "ModTest", version = "3.1")
      public class ModTest
      {
      @Instance("modtest")
      public static ModTest instance;
      @SidedProxy(clientSide = "fr.nf.odekproduction.test.proxy.ClientProxy", serverSide = "fr.nf.odekproduction.test.proxy.CommonProxy")
      public static CommonProxy proxy;
      
      public static Item itemTest, itemTest2, chapeauTest, cuirasseTest, pantalonTest, bottesTest;
      public static ArmorMaterial ArmureTest = EnumHelper.addArmorMaterial("armureTestMateriel", 25, new int[] {4, 6, 5, 4}, 20);
      
      @EventHandler
      public void preInit(FMLPreInitializationEvent Event)
      {
      itemTest = new itemTest().setUnlocalizedName("Test").setTextureName("modtest:item_test").setCreativeTab(CreativeTabs.tabMaterials);
      itemTest2 = new itemTest().setUnlocalizedName("Test2").setTextureName("modtest:item_test2").setCreativeTab(CreativeTabs.tabMaterials);
      chapeauTest = new itemArmureTest(ArmureTest, 0).setUnlocalizedName("chapeauTest").setTextureName("modtest:item_chapeau_test");
      cuirasseTest = new itemArmureTest(ArmureTest, 1).setUnlocalizedName("cuirasseTest").setTextureName("modtest:item_cuirasse_test");
      pantalonTest = new itemArmureTest(ArmureTest, 2).setUnlocalizedName("pantalonTest").setTextureName("modtest:item_pantalon_test");
      bottesTest = new itemArmureTest(ArmureTest, 3).setUnlocalizedName("bottesTest").setTextureName("modtest:item_bottes_test");
      GameRegistry.registerItem(itemTest, "item_test");
      GameRegistry.registerItem(itemTest2, "item_test2");
      GameRegistry.registerItem(chapeauTest, "item_chapeau_test");
      GameRegistry.registerItem(cuirasseTest, "item_cuirasse_test");
      GameRegistry.registerItem(pantalonTest, "item_pantalon_test");
      GameRegistry.registerItem(bottesTest, "item_bottes_test");
      }
      
      @EventHandler
      public void init(FMLInitializationEvent Event)
      {
      proxy.registerRender();
      }
      
      @EventHandler
      public void postInit(FMLInitializationEvent Event)
      {
      
      }
      }
      

      Et voici ma classe itemArmureTest:

      package fr.nf.odekproduction.test.common;
      
      import net.minecraft.item.ItemArmor;
      import net.minecraft.item.ItemStack;
      
      import com.sun.xml.internal.stream.Entity;
      
      public class itemArmureTest extends ItemArmor
      {
      public itemArmureTest(ArmorMaterial material, int type)
      {
      super(material, 0, type);
      // TODO Auto-generated constructor stub
      System.out.println("passage");
      }
      
      public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
      {
      System.out.println("passage_texture");
      if(slot == 2)
      {
      return "modtest:textures/models/armor/test_layer_2.png";
      }
      return "modtest:textures/models/armor/test_layer_1.png";
      }
      }
      

      Mais ce qui est curieux (d’après moi, car je suis un débutant), c’est que la méthode “getArmorTexture” ne s’exécute pas. On le voit clairement grâce au “println”.
      Alors que ce qui est au dessus s’exécute (je vois bien le “passage” dans la console).
      Quelqu’un aurait une idée ?
      Merci d’avance.
      Cordialement.

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

        Déplacé dans la bonne section.

        import com.sun.xml.internal.stream.Entity;
        Tu as une mauvaise importation, retire-la et importe net.minecraft.entity.Entity.

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

          Tout d’abord, désolé d’avoir posté dans la mauvaise section.
          Et merci beaucoup pour cette réponse rapide 🙂
          A birntot .

          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