MFF

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

    Une armure

    Planifier Épinglé Verrouillé Déplacé Les items
    1.6.x
    78 Messages 18 Publieurs 32.5k 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.
    • 4 Hors-ligne
      42.
      dernière édition par

      Merci pour cette correction
      Je ne comprends pas vraiment non plus. À part un constructeur, et la méthode de génération des textures, je n’ai rien d’autre
      J’ai fais plusieurs essais en modifiant le chemin des fichiers, et leur endroit, mais rien à faire….

      package tutoriel.item;
      import javax.swing.text.html.parser.Entity;
      import tutoriel.common.ModTutoriel;
      import net.minecraft.item.EnumArmorMaterial;
      import net.minecraft.item.ItemArmor;
      import net.minecraft.item.ItemStack;
      
      public class ItemAgandaurArmor extends ItemArmor{
      
      public ItemAgandaurArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
      super(par1, par2EnumArmorMaterial, par3, par4);
      
      }
      
      public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)
      {
      if(stack.itemID == ModTutoriel.agandaurLeggings.itemID)
      {
      return "modtutoriel:textures/models/armor/tutorial_layer_2.png";
      }
      else
      {
      return "modtutoriel:models/armor/tutorial_layer_1.png";
      }
      }
      
      }
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • Superloup10S Hors-ligne
        Superloup10 Modérateurs
        dernière édition par

        ici, return “modtutoriel:models/armor/tutorial_layer_1.png”; c’est return “modtutoriel:textures/models/armor/tutorial_layer_1.png”;
        que tu dois mettre.

        Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

        Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

        1 réponse Dernière réponse Répondre Citer 0
        • 4 Hors-ligne
          42.
          dernière édition par

          Ça faisait partie des nombreux tests que j’ai fait, et que je n’ai pas remis.
          Le premier devrait néanmoins fonctionner

          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

            Essaye avec public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) et met un @Override au dessus de la fonction pour voir si ça change quelque chose. (garde le même return)

            1 réponse Dernière réponse Répondre Citer 0
            • 4 Hors-ligne
              42.
              dernière édition par

              Il bloque sur la signature si je mets @Override et que je mets cette signature. Il ne détecte pas d’implémentation dans la classe Item ou ItemArmor, alors que j’ai vérifié, j’ai bien cette fonction dans Item.
              Rajouter @Override au dessus de la signature de la fonction que j’ai actuellement donne exactement le même problème 😕
              J’ai l’impression que je vais réinstaller forge demain….

              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

                Non, inutile de réinstaller Forge, je viens de trouver le problème. Le @Override ne marche pas, car

                getArmorTexture(net.minecraft.item.ItemStack stack, javax.swing.text.html.parser.Entity entity, int slot, int layer) != getArmorTexture(net.minecraft.item.ItemStack stack, net.minecraft.entity.Entity entity, int slot, int layer)
                

                Faite attention à vos importation !

                import javax.swing.text.html.parser.Entity; -> import net.minecraft.entity.Entity;
                
                1 réponse Dernière réponse Répondre Citer 1
                • 4 Hors-ligne
                  42.
                  dernière édition par

                  Effectivement, je venais de le trouver au même moment… Désormais, cela fonctionne
                  Je ferais plus attention désormais.
                  Merci pour vos tutos 🙂

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

                    Bonjour,
                    J’ai suivi ton tuto, mais quand je mets mon armure, le layer est celui de base (un truc tout moche noir et rose ;))
                    En regardant dans le code d’erreur j’ai remarqué qu’il ne trouve pas la texture :

                    
                    2013-11-23 15:47:48 [Avertissement] [Minecraft-Client] Failed to load texture: newores:rubis_layer_1
                    java.io.FileNotFoundException: newores:rubis_layer_1
                    at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:64)
                    at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                    at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:31)
                    at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:84)
                    at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:41)
                    at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:53)
                    at net.minecraft.client.renderer.entity.RenderPlayer.setArmorModel(RenderPlayer.java:72)
                    at net.minecraft.client.renderer.entity.RenderPlayer.shouldRenderPass(RenderPlayer.java:514)
                    at net.minecraft.client.renderer.entity.RendererLivingEntity.doRenderLiving(RendererLivingEntity.java:164)
                    at net.minecraft.client.renderer.entity.RenderPlayer.func_130009_a(RenderPlayer.java:166)
                    at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:556)
                    at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:312)
                    at net.minecraft.client.gui.inventory.GuiInventory.func_110423_a(GuiInventory.java:121)
                    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:849)
                    at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:111)
                    at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:43)
                    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:683)
                    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1036)
                    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946)
                    at net.minecraft.client.Minecraft.run(Minecraft.java:838)
                    at net.minecraft.client.main.Main.main(Main.java:93)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.lang.reflect.Method.invoke(Unknown Source)
                    at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
                    at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
                    
                    

                    Mais j’ai beau vérifier et revérifier, le chemin d’accès est le bon.
                    Pouvez-vous m’aider ?

                    Classe Principale :

                    
                    package fr.MrBlockTNT.NewOres;
                    
                    import net.minecraft.block.Block;
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.item.EnumArmorMaterial;
                    import net.minecraft.item.Item;
                    import net.minecraftforge.common.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.FMLPostInitializationEvent;
                    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                    import cpw.mods.fml.common.network.NetworkMod;
                    import cpw.mods.fml.common.registry.GameRegistry;
                    import fr.MrBlockTNT.proxy.CommonProxy;
                    
                    @Mod(modid = "NewOres", name = "New Ores", version = "1.0.0")
                    @NetworkMod(clientSideRequired = true, serverSideRequired = false)
                    
                    public class NewOres
                    {
                    @SidedProxy(clientSide = "fr.MrBlockTNT.proxy.ClientProxy", serverSide = "fr.MrBlockTNT.proxy.CommonProxy")
                    public static CommonProxy proxy;
                    
                    @Instance("NewOres")
                    public static NewOres instance;
                    
                    public static Block rubisOre, saphirOre, onyxOre, enchantiteOre, rubisBlock, saphirBlock, onyxBlock, enchantiteBlock;
                    
                    public static Item enchantiteDust, rubis, saphir, onyx;
                    public static Item rubyBar, saphirBar, onyxBar, enchantiteBar;
                    public static Item rubyHelmet, rubyPlate, rubyLegs, rubyBoots;
                    
                    static EnumArmorMaterial rubyMaterial = EnumHelper.addArmorMaterial("Ruby", 20, new int[]{2, 4, 3, 1}, 10);
                    
                    public static CreativeTabs NewOresTab = new NewOresTab("NewOres");
                    
                    @EventHandler
                    public void PreInit(FMLPreInitializationEvent event)
                    {
                    // Blocks
                    rubisOre = new BlockNewOre(2000).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Rubis Ore").setTextureName("newores:rubis_ore");
                    saphirOre = new BlockNewOre(2001).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Saphirre Ore").setTextureName("newores:saphir_ore");
                    onyxOre = new BlockNewOre(2002).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Onyx Ore").setTextureName("newores:onyx_ore");
                    enchantiteOre = new BlockNewOre(2003).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Enchantite Ore").setTextureName("newores:enchantite_ore_end");
                    //onyxNether = new BlockNewOre(2004).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Onyx Ore Nether").setTextureName("newores:onyx_ore_nether");
                    //enchantiteEnd = new BlockNewOre(2005).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Enchantite Ore End").setTextureName("newores:enchantite_ore");
                    
                    rubisBlock = new BlockNewOre(2006).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Rubis Block").setTextureName("newores:rubis_block");
                    saphirBlock = new BlockNewOre(2007).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Saphirre Block").setTextureName("newores:saphir_block");
                    onyxBlock = new BlockNewOre(2008).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Onyx Block").setTextureName("newores:onyx_block");
                    enchantiteBlock = new BlockNewOre(2009).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Enchantite Block").setTextureName("newores:enchantite_block");
                    
                    GameRegistry.registerBlock(rubisOre, "Minerai de Rubis");
                    GameRegistry.registerBlock(saphirOre, "Minerai de Saphir");
                    GameRegistry.registerBlock(onyxOre, "Minerai d'Onyx");
                    GameRegistry.registerBlock(enchantiteOre, "Minerai d'Enchantite");
                    //GameRegistry.registerBlock(onyxNether, "Minerai d'Onyx Nether");
                    //GameRegistry.registerBlock(enchantiteEnd, "Minerai d'Enchantite End");
                    
                    GameRegistry.registerBlock(rubisBlock, "Bloc de Rubis");
                    GameRegistry.registerBlock(saphirBlock, "Bloc de Saphir");
                    GameRegistry.registerBlock(onyxBlock, "Bloc d'Onyx");
                    GameRegistry.registerBlock(enchantiteBlock, "Bloc d'Enchantite");
                    
                    //Items
                    enchantiteDust = new ItemNewOres(12000).setUnlocalizedName("Enchantite Dust").setTextureName("newores:enchantite_dust");
                    rubis = new ItemNewOres(12001).setUnlocalizedName("Rubis Gem").setTextureName("newores:rubis");
                    saphir = new ItemNewOres(12002).setUnlocalizedName("Saphir Gem").setTextureName("newores:saphir");
                    onyx = new ItemNewOres(12003).setUnlocalizedName("Onyx Gem").setTextureName("newores:onyx");
                    enchantiteBar = new ItemNewOres(12004).setUnlocalizedName("Enchantite Bar").setTextureName("newores:enchantite_dust");
                    rubyBar = new ItemNewOres(12005).setUnlocalizedName("Rubis Bar").setTextureName("newores:rubis");
                    saphirBar = new ItemNewOres(12006).setUnlocalizedName("Saphir Bar").setTextureName("newores:saphir");
                    onyxBar = new ItemNewOres(12007).setUnlocalizedName("Onyx Bar").setTextureName("newores:onyx");
                    
                    GameRegistry.registerItem(enchantiteDust, "EnchantiteDust", "NewOres");
                    GameRegistry.registerItem(rubis, "Rubis", "NewOres");
                    GameRegistry.registerItem(saphir, "Saphir", "NewOres");
                    GameRegistry.registerItem(onyx, "Onyx", "NewOres");
                    GameRegistry.registerItem(enchantiteBar, "Enchantite Bar", "NewOres");
                    GameRegistry.registerItem(rubyBar, "Rubis Bar", "NewOres");
                    GameRegistry.registerItem(saphirBar, "Saphir Bar", "NewOres");
                    GameRegistry.registerItem(onyxBar, "Onyx Bar", "NewOres");
                    
                    // Armures & Outils
                    rubyHelmet = new RubyArmor(12100, rubyMaterial, 0,0).setUnlocalizedName("RubyHelmet").setTextureName("newores:rubis_helmet");
                    rubyPlate = new RubyArmor(12101, rubyMaterial, 0, 1).setUnlocalizedName("RubyPlate").setTextureName("newores:rubis_chestplate");
                    rubyLegs = new RubyArmor(12102, rubyMaterial, 0, 2).setUnlocalizedName("RubyLegs").setTextureName("newores:rubis_leggings");
                    rubyBoots = new RubyArmor(12103, rubyMaterial, 0, 3).setUnlocalizedName("RubyBoots").setTextureName("newores:rubis_boots");
                    
                    GameRegistry.registerItem(rubyHelmet, "RubyHelmet", "NewOres");
                    GameRegistry.registerItem(rubyPlate, "RubyPlate", "NewOres");
                    GameRegistry.registerItem(rubyLegs, "RubyLegs", "NewOres");
                    GameRegistry.registerItem(rubyBoots, "RubyBoots", "NewOres");
                    //Generation
                    GameRegistry.registerWorldGenerator(new NewOresGenerator());
                    }
                    
                    @EventHandler
                    public void Init(FMLInitializationEvent event)
                    {
                    proxy.registerRender();
                    }
                    
                    @EventHandler
                    public void PostInit(FMLPostInitializationEvent event)
                    {
                    
                    }
                    }
                    
                    

                    RubyArmor :

                    
                    package fr.MrBlockTNT.NewOres;
                    
                    import net.minecraft.entity.Entity;
                    import net.minecraft.item.EnumArmorMaterial;
                    import net.minecraft.item.ItemArmor;
                    import net.minecraft.item.ItemStack;
                    
                    public class RubyArmor extends ItemArmor
                    {
                    public RubyArmor(int id, EnumArmorMaterial armorMaterial, int type, int layer)
                    {
                    super(id, armorMaterial, type, layer);
                    }
                    
                    public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)
                    {
                    if(stack.itemID == NewOres.rubyLegs.itemID)
                    {
                    return "newores:rubis_layer_2";
                    }
                    else
                    {
                    return "newores:rubis_layer_1";
                    }
                    }
                    
                    public boolean getIsRepairable(ItemStack stack, ItemStack repairItem)
                    {
                    if(stack.getItem().equals(this) && repairItem.getItem().itemID == NewOres.rubyBar.itemID)
                    return true;
                    return false;
                    }
                    }
                    
                    

                    Mes mods:

                    • New Ores
                    • More Dragons
                    1 réponse Dernière réponse Répondre Citer 0
                    • PatatoufetP Hors-ligne
                      Patatoufet
                      dernière édition par

                      C’est le chemin qui pose problème.
                      Imaginons que ta texture se trouve dans “assets/newores/textures/armure/rubis_layer_1.png”.
                      Alors ton chemin dans ton code est :

                      return "newores:textures/armure/rubis_layer_1.png";
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • bin4r1sB Hors-ligne
                        bin4r1s
                        dernière édition par

                        Merci, j’essaie ça tout de suite 🙂

                        EDIT : ça marche toujours pas 😞

                        Mes mods:

                        • New Ores
                        • More Dragons
                        1 réponse Dernière réponse Répondre Citer 0
                        • kevin_68K Hors-ligne
                          kevin_68 Moddeurs confirmés
                          dernière édition par

                          Il faut mettre le .png à la fin


                          Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

                            Je viens de m’en rendre compte, et j’allais faire un édit 🙂

                            Mes mods:

                            • New Ores
                            • More Dragons
                            1 réponse Dernière réponse Répondre Citer 1
                            • FlowF Hors-ligne
                              Flow
                              dernière édition par

                              Y a t-il moyen de rendre l’armure incassable s’il vous plait ? Comme la bedrock par exemple.

                              Oui ce gif est drôle.

                              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

                                Essaye de mettre la résistance sur -1 ?

                                1 réponse Dernière réponse Répondre Citer 0
                                • Superloup10S Hors-ligne
                                  Superloup10 Modérateurs
                                  dernière édition par

                                  Je pense que cela doit être possible, les armures quantums d’IC² ont cette fonctionnalité.

                                  Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                                    Bonjour, merci pour ce tutoriel.
                                    Cependant, je pense qu’il manque une chose: Comment définit-on le matériel avec lequel l’armure se craft ? Il suffit d’utiliser GameRegistry.addRecipe ?
                                    Merci d’avance

                                    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

                                      Oui, il faut faire des recettes comme les autres.

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

                                        Merci beaucoup (Je pense qu’il faudrait le mentionner dans le tutoriel, après, c’est toi qui vois ^^")

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

                                          J’ai une erreur dans la classe de l’armure sur

                                          public String “getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)”

                                          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

                                            Quoi comme erreur ?

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB