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

    Résolu Render Models

    1.8.x
    1.8
    6
    18
    2879
    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.
    • checconio
      checconio dernière édition par

      Bonjour tout le monde,

      Tout d’abord je précise que je mode avec Forge Gradle en 1.8
      Alors voila mon problème jusqu’à maintenant pour rajouter des armures il y avais juste a indiquer la localisation des textures layer mais depuis le 1.8 il ne suffit plus de faire cela. Mois qui est moder en Vanilla je sais qu’il faut indiquer au RenderBiped que notre armure possède cette texture layer mais sous forge je n’est pas trouver comment faire.

      Merci d’avance 🙂

      Youtubeur Minecraft: https://www.youtube.com/user/checconio84

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

        Il me semble pas que le système de rendu des armures ai changé en 1.8, mais regardes les classes de Minecraft pour voir comment c’est géré

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

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

          Moi aussi je n’est pas vu de changement dans le code du rendu mais je ne comprend pas pourquoi les layers ne sont pas reconnus.
          Voici mon code au cas où j’aurais fait une boulette.

          
          package checconio.test.tuto.init;
          
          import net.minecraft.entity.Entity;
          import net.minecraft.item.ItemArmor;
          import net.minecraft.item.ItemStack;
          import checconio.test.tuto.Reference;
          
          public class ItemTestArmor extends ItemArmor
          {
          
             public ItemTestArmor(ArmorMaterial material, int armorType)
             {
                 super(material, 0, armorType);
             }
          
             public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
             {
                 if(stack.getItem() == ItemMod.test_armor3)
                 {
                     return Reference.MOD_ID + "textures/models/armor/test_layer_2.png";
                 }
          
                 else if(stack.getItem() == ItemMod.test_armor2 || stack.getItem() == ItemMod.test_armor || stack.getItem() == ItemMod.test_armor4)
                     return Reference.MOD_ID + "textures/models/armor/test_layer_1.png";
          
                 return null;
             }    
          }
          
          

          Youtubeur Minecraft: https://www.youtube.com/user/checconio84

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

            Salut,
            Je ne me suis pas encore intérressé aux armures en 1.8, tu peux montrer un screen du problème et le détailler ?

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

              @‘robin4002’:

              Salut,
              Je ne me suis pas encore intérressé aux armures en 1.8, tu peux montrer un screen du problème et le détailler ?

              Je pense que la méthode getArmorTexture a changé de nom. Je n’ai jamais codé en 1.8 dont je ne peux pas te l’assurer.

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

                Alors voila mon armure est créer correctement:

                Mais n’apparais pas sur le joueur:

                Voici le code d’erreur de la console.

                
                [23:14:59] [Client thread/ERROR]: Couldn't render entity
                java.lang.NullPointerException
                    at net.minecraft.client.renderer.entity.layers.LayerArmorBase.getArmorResource(LayerArmorBase.java:179) ~[LayerArmorBase.class:?]
                    at net.minecraft.client.renderer.entity.layers.LayerArmorBase.func_177182_a(LayerArmorBase.java:62) ~[LayerArmorBase.class:?]
                    at net.minecraft.client.renderer.entity.layers.LayerArmorBase.doRenderLayer(LayerArmorBase.java:38) ~[LayerArmorBase.class:?]
                    at net.minecraft.client.renderer.entity.RendererLivingEntity.func_177093_a(RendererLivingEntity.java:480) ~[RendererLivingEntity.class:?]
                    at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:190) [RendererLivingEntity.class:?]
                    at net.minecraft.client.renderer.entity.RenderPlayer.func_180596_a(RenderPlayer.java:71) [RenderPlayer.class:?]
                    at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:275) [RenderPlayer.class:?]
                    at net.minecraft.client.renderer.entity.RenderManager.doRenderEntity(RenderManager.java:377) [RenderManager.class:?]
                    at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:357) [RenderManager.class:?]
                    at net.minecraft.client.gui.inventory.GuiInventory.drawEntityOnScreen(GuiInventory.java:123) [GuiInventory.class:?]
                    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:827) [GuiContainerCreative.class:?]
                    at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:95) [GuiContainer.class:?]
                    at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:53) [InventoryEffectRenderer.class:?]
                    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:659) [GuiContainerCreative.class:?]
                    at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:460) [ForgeHooksClient.class:?]
                    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1134) [EntityRenderer.class:?]
                    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1114) [Minecraft.class:?]
                    at net.minecraft.client.Minecraft.run(Minecraft.java:376) [Minecraft.class:?]
                    at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
                    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
                    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
                    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
                    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
                    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
                    at GradleStart.main(Unknown Source) [start/:?]
                
                

                Youtubeur Minecraft: https://www.youtube.com/user/checconio84

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

                  Tu es sûr que ce n’est pas un problème venant de la texture du layer qui n’est pas adaptée? Sinon elle se pourrait oui que certaine méthodes aient changé de nom.

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

                    Je peux voir la déclaration de ton ArmorMaterial dans ta classe principale ?
                    Aussi je viens de voir qu’il manque le : dans le return de ta fonction getArmorTexture

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

                      Rajoute l’annotation @override au-dessus de ta méthode pour vérifier qu’elle existe, ou fait Alt + shift + s puis “override/implement methods” et choisis la méthode, çà évite de faire des erreurs.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

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

                        Pour la déclaration de ton matériel d’armure ça ce passe comme ça (avec la déclaration des items) :

                        public static ArmorMaterial enumArmorMaterialViridis = EnumHelper.addArmorMaterial("VIRIDIS", "viridis", 17, new int[] {3, 6, 5, 3}, 9);
                        

                        "

                        (String name, String textureName, int durability, int[] reductionAmounts, int enchantability)
                        

                        "

                        L’armure en diamant ayant ces propriétés :

                        DIAMOND("diamond", 33, new int[]{3, 8, 6, 3}, 10);
                        

                        Puis les items :

                           public static Item viridisHelmet = new ViridisArmor(enumArmorMaterialViridis, 5, 0);
                           public static Item viridisChestplate = new ViridisArmor(enumArmorMaterialViridis, 5, 1);
                           public static Item viridisLeggings = new ViridisArmor(enumArmorMaterialViridis, 5, 2);
                           public static Item viridisBoots = new ViridisArmor(enumArmorMaterialViridis, 5, 3);
                        

                        Et finalement la classe de l’armure ici “ViridisArmor” :

                        public class ViridisArmor extends ItemArmor
                        {
                           public ViridisArmor(ArmorMaterial material, int renderIndex, int armorType)
                           {
                               super(material, renderIndex, armorType);
                           }
                        
                           @Override
                           public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
                           {
                               if(slot == 2)
                               {
                                   return Infos.MODID + ":textures/models/armor/viridis_layer_2.png";
                               }
                               return Infos.MODID + ":textures/models/armor/viridis_layer_1.png";
                           }
                        
                           @Override
                           public boolean getIsRepairable(ItemStack input, ItemStack repair)
                           {
                               if(repair.getItem() == Item.getItemFromBlock(EmotionBlocks.viridisCristal))
                               {
                                   return true;
                               }
                               return false;
                           }
                        }
                        

                        Avec la fonction “getIsRepairable” pour que l’armure puisse être réparée via l’enclume (très utile), voilà je pense que ça devrait fonctionner et que tu comprendra facilement le code.

                        Ps: Il y auras peut-être des erreurs dans ce cas préviens moi étant donné que j’utilise maintenant un rendue personnalisée pour mon armure.

                        Ps 2: Je te conseil de reprendre les textures de l’armure en diamant pour designer la tienne.

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

                          @‘SCAREX’:

                          Rajoute l’annotation @override au-dessus de ta méthode pour vérifier qu’elle existe, ou fait Alt + shift + s puis “override/implement methods” et choisis la méthode, çà évite de faire des erreurs.

                          lorsque j’implémente Override il n’y a aucune erreur.

                          Youtubeur Minecraft: https://www.youtube.com/user/checconio84

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

                            Implémente ? C’est une annotation, pas une interface

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

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

                              @‘EmotionFox’:

                              Pour la déclaration de ton matériel d’armure ça ce passe comme ça (avec la déclaration des items) :

                              public static ArmorMaterial enumArmorMaterialViridis = EnumHelper.addArmorMaterial("VIRIDIS", "viridis", 17, new int[] {3, 6, 5, 3}, 9);
                              

                              "

                              (String name, String textureName, int durability, int[] reductionAmounts, int enchantability)
                              

                              "

                              L’armure en diamant ayant ces propriétés :

                              DIAMOND("diamond", 33, new int[]{3, 8, 6, 3}, 10);
                              

                              Puis les items :

                                 public static Item viridisHelmet = new ViridisArmor(enumArmorMaterialViridis, 5, 0);
                                 public static Item viridisChestplate = new ViridisArmor(enumArmorMaterialViridis, 5, 1);
                                 public static Item viridisLeggings = new ViridisArmor(enumArmorMaterialViridis, 5, 2);
                                 public static Item viridisBoots = new ViridisArmor(enumArmorMaterialViridis, 5, 3);
                              

                              Et finalement la classe de l’armure ici “ViridisArmor” :

                              public class ViridisArmor extends ItemArmor
                              {
                                 public ViridisArmor(ArmorMaterial material, int renderIndex, int armorType)
                                 {
                                     super(material, renderIndex, armorType);
                                 }
                              
                                 @Override
                                 public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
                                 {
                                     if(slot == 2)
                                     {
                                         return Infos.MODID + ":textures/models/armor/viridis_layer_2.png";
                                     }
                                     return Infos.MODID + ":textures/models/armor/viridis_layer_1.png";
                                 }
                              
                                 @Override
                                 public boolean getIsRepairable(ItemStack input, ItemStack repair)
                                 {
                                     if(repair.getItem() == Item.getItemFromBlock(EmotionBlocks.viridisCristal))
                                     {
                                         return true;
                                     }
                                     return false;
                                 }
                              }
                              

                              Avec la fonction “getIsRepairable” pour que l’armure puisse être réparée via l’enclume (très utile), voilà je pense que ça devrait fonctionner et que tu comprendra facilement le code.

                              Ps: Il y auras peut-être des erreurs dans ce cas préviens moi étant donné que j’utilise maintenant un rendue personnalisée pour mon armure.

                              Ps 2: Je te conseil de reprendre les textures de l’armure en diamant pour designer la tienne.

                              Merci en regardant les codes que tu m’a envoyer j’ai trouver mon erreur, dans la ligne correspondant au material l’emplacement où il fallait maitre le nom de la texture j’y avais mit <<null>> voila pourquoi il ne chercher pas les textures.

                              Par contre au moment de la fonction “getIsRepairable” il y a “EmotionBlocks.viridisCristal” il s’agit que quel block ?</null>

                              Youtubeur Minecraft: https://www.youtube.com/user/checconio84

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

                                @‘SCAREX’:

                                Implémente ? C’est une annotation, pas une interface

                                A ok ^^ mais j’ai trouver mon problème merci quand même 🙂

                                Youtubeur Minecraft: https://www.youtube.com/user/checconio84

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

                                  Si c’est résolu mets la balise résolu.

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

                                    Merci à tous 🙂

                                    Youtubeur Minecraft: https://www.youtube.com/user/checconio84

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

                                      Il s’agit du bloc qui permet de réparer l’armure, tu peux aussi mettre un item :

                                      @Override
                                      public boolean getIsRepairable(ItemStack input, ItemStack repair)
                                      {
                                      if(repair.getItem() == Items.apple)
                                      {
                                      return true;
                                      }
                                      return false;
                                      }
                                      

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

                                        @‘EmotionFox’:

                                        Il s’agit du bloc qui permet de réparer l’armure, tu peux aussi mettre un item :

                                           @Override
                                           public boolean getIsRepairable(ItemStack input, ItemStack repair)
                                           {
                                               if(repair.getItem() == Items.apple)
                                               {
                                                   return true;
                                               }
                                               return false;
                                           }
                                        

                                        A ok merci

                                        Youtubeur Minecraft: https://www.youtube.com/user/checconio84

                                        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