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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Or rapport, tu as une mauvaise importation dans ta classe principale :
      import com.jcraft.jorbis.Block;
      c’est pour ça que tu as du mettre public static net.minecraft.block.Block à la place de juste Block.

      Pour le problème de l’amure, je vois vraiment pas, tout les codes sembles bons, tu peux m’envoyer la classe de l’amure en entier ?

      1 réponse Dernière réponse Répondre Citer 0
      • 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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB