MFF

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

    Render Models

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    18 Messages 6 Publieurs 3.5k Vues 1 Abonné
    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.
    • checconioC Hors-ligne
      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 Hors-ligne
        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
        • robin4002R Hors-ligne
          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
          • SCAREXS Hors-ligne
            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
            • EmotionFoxE Hors-ligne
              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
              • checconioC Hors-ligne
                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
                • SCAREXS Hors-ligne
                  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
                  • checconioC Hors-ligne
                    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
                    • checconioC Hors-ligne
                      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
                      • robin4002R Hors-ligne
                        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
                        • checconioC Hors-ligne
                          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
                          • EmotionFoxE Hors-ligne
                            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
                            • checconioC Hors-ligne
                              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
                              ContactMentions Légales

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB